Add /D_BIND_TO_CURRENT_CRT_VERSION=1 to LOCAL_CFLAGS in modern versions

of Visual C++. (How did this "feature" ever see the light of day?) Make
sure we use LOCAL_CFLAGS *everywhere*. This should fix problems with
building a usable installer under Visual Studio 2008 SP1.

Add comments with links to Visual C++'s idiotic handling of assemblies
and deployment using xcopy. Move to c-ares 1.5.3. Make sure we remove
all of our manifests in epan and packaging/u3/tools.

svn path=/trunk/; revision=26219
This commit is contained in:
Gerald Combs 2008-09-16 21:08:18 +00:00
parent 98fd7b71df
commit ba485a4163
5 changed files with 29 additions and 25 deletions

View File

@ -3,6 +3,9 @@
#
# $Id$
# We "Deploy using XCopy," which is described at
# http://msdn.microsoft.com/en-us/library/ms235291.aspx
include config.nmake
include <win32.mak>
@ -551,7 +554,7 @@ $(ADNS_DLL):
copy adns_dll.rc adns.tmp\adns_win32\adns_dll
cd adns.tmp\adns_win32\adns_dll
set CFG=adns_dll - Win32 Release
$(MAKE) /$(MAKEFLAGS) -f adns_dll.mak LOC="-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE"
$(MAKE) /$(MAKEFLAGS) -f adns_dll.mak LOC="$(LOCAL_CFLAGS)"
cd ..\lib
!IF $(MSC_VER_REQUIRED) >= 1400
mt.exe -nologo -manifest "adns_dll.dll.manifest" -outputresource:adns_dll.dll;2
@ -572,7 +575,7 @@ $(ADNS_DLL):
$(ZLIB_DLL):
xcopy $(ZLIB_DIR) zlib.tmp /D /I /E /Y
cd zlib.tmp
$(MAKE) /$(MAKEFLAGS) -f win32/Makefile.msc zlib1.dll LOC="-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE"
$(MAKE) /$(MAKEFLAGS) -f win32/Makefile.msc zlib1.dll LOC="$(LOCAL_CFLAGS)"
if not exist $(ZLIB_DIR) mkdir $(ZLIB_DIR)
if not exist $(ZLIB_DIR)\lib mkdir $(ZLIB_DIR)\lib
if not exist $(ZLIB_DIR)\include mkdir $(ZLIB_DIR)\include
@ -584,7 +587,7 @@ $(ZLIB_DLL):
copy zconf.h $(ZLIB_DIR)\include
copy zlib.h $(ZLIB_DIR)\include
cd ..
rm -r -f zlib.tmp
rm -r -f zlib.tmp
!ENDIF
wsutil::
@ -733,7 +736,7 @@ process_libs:
!ENDIF
!IFDEF C_ARES_DIR
@$(SH) tools\win32-setup.sh "$(WIN32_SETUP_OPT)" "$(WIRESHARK_LIBS)" \
. c-ares-1.5.2ws.zip
. c-ares-1.5.3ws.zip
!ENDIF
!IFDEF ADNS_DIR
@$(SH) tools\win32-setup.sh "$(WIN32_SETUP_OPT)" "$(WIRESHARK_LIBS)" \
@ -842,7 +845,7 @@ process_libs:
# UPDATING REMOVES THE FORMER USER DIRS
clean_setup:
rm -r -f $(WIRESHARK_LIBS)/adns-1.0-win32-05ws
rm -r -f $(WIRESHARK_LIBS)/c-ares-1.5.2ws
rm -r -f $(WIRESHARK_LIBS)/c-ares-1.5.3ws
rm -r -f $(WIRESHARK_LIBS)/gettext-0.14.5
rm -r -f $(WIRESHARK_LIBS)/gettext-runtime-0.17
rm -r -f $(WIRESHARK_LIBS)/gettext-runtime-0.17-1

View File

@ -205,7 +205,7 @@ ZLIB_DIR=$(WIRESHARK_LIBS)\zlib123
# If you don't have c-ares, comment this line out, so that C_ARES_DIR
# isn't defined.
#
C_ARES_DIR=$(WIRESHARK_LIBS)\c-ares-1.5.2ws
C_ARES_DIR=$(WIRESHARK_LIBS)\c-ares-1.5.3ws
#
# Optional: the PCRE (Perl Compatible Regular Expressions) library
@ -446,11 +446,12 @@ MSC_VER_REQUIRED=1500
# /MD use "Multithreading Debug" libraries
# /D_CRT_SECURE_NO_DEPRECATE don't warn for "insecure" calls, see MSDN "Security Enhancements in the CRT"
# /D_CRT_NONSTDC_NO_DEPRECATE don't warn for "Deprecated CRT Functions" as MSDN calls this
# /D_BIND_TO_CURRENT_CRT_VERSION=1 Make sure our CRT and manifest versions match (http://msdn.microsoft.com/en-us/library/cc664727.aspx)
#
!IF "$(MSVC_VARIANT)" == "MSVC6" || "$(MSVC_VARIANT)" == "MSVC2002" || "$(MSVC_VARIANT)" == "DOTNET10" || "$(MSVC_VARIANT)" == "MSVC2003" || "$(MSVC_VARIANT)" == "DOTNET11"
LOCAL_CFLAGS=/Zi /W3 /MD /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED)
!ELSEIF "$(MSVC_VARIANT)" == "MSVC2005" || "$(MSVC_VARIANT)" == "MSVC2005EE" || "$(MSVC_VARIANT)" == "DOTNET20" || "$(MSVC_VARIANT)" == "MSVC2008" || "$(MSVC_VARIANT)" == "MSVC2008EE"
LOCAL_CFLAGS=/Zi /W3 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED)
LOCAL_CFLAGS=/Zi /W3 /MD /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DMSC_VER_REQUIRED=$(MSC_VER_REQUIRED) /D_BIND_TO_CURRENT_CRT_VERSION=1
!ELSE
!ERROR MSVC_VARIANT unknown
!ENDIF

View File

@ -110,7 +110,7 @@ libwireshark.lib : ..\config.h $(LIBWIRESHARK_OBJECTS) crypt ftypes dfilter $(WS
clean-local:
rm -f $(LIBWIRESHARK_OBJECTS) $(EXTRA_OBJECTS) \
libwireshark.lib libwireshark.dll libwireshark.dll.manifest libwireshark.exp \
libwireshark.lib libwireshark.dll *.manifest libwireshark.exp \
*.pdb doxygen.cfg html/*.* \
exntest.obj exntest.exe reassemble_test.obj reassemble_test.exe tvbtest.obj tvbtest.exe
if exist html rmdir html

View File

@ -67,52 +67,52 @@ wireshark-tap-register.c: $(WIRESHARK_TAP_SRC) ../make-tapreg-dotc Makefile.comm
!IF "$(PORTAUDIO_VERSION)" == "18"
pa_lib.obj: $(PORTAUDIO_DIR)\pa_common\pa_lib.c
$(CC) -c /Zi /W1 /Od $?
$(CC) -c $(LOCAL_CFLAGS) $?
pa_win_wmme.obj: $(PORTAUDIO_DIR)\pa_win_wmme\pa_win_wmme.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
!ELSE
pa_front.obj: $(PORTAUDIO_DIR)\src\common\pa_front.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_allocation.obj: $(PORTAUDIO_DIR)\src\common\pa_allocation.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_converters.obj: $(PORTAUDIO_DIR)\src\common\pa_converters.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_cpuload.obj: $(PORTAUDIO_DIR)\src\common\pa_cpuload.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_dither.obj: $(PORTAUDIO_DIR)\src\common\pa_dither.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_process.obj: $(PORTAUDIO_DIR)\src\common\pa_process.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_skeleton.obj: $(PORTAUDIO_DIR)\src\common\pa_skeleton.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_stream.obj: $(PORTAUDIO_DIR)\src\common\pa_stream.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_trace.obj: $(PORTAUDIO_DIR)\src\common\pa_trace.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_win_wmme.obj: $(PORTAUDIO_DIR)\src\hostapi\wmme\pa_win_wmme.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_win_util.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_util.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_win_hostapis.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_hostapis.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_x86_plain_converters.obj: $(PORTAUDIO_DIR)\src\os\win\pa_x86_plain_converters.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
pa_win_waveformat.obj: $(PORTAUDIO_DIR)\src\os\win\pa_win_waveformat.c
$(CC) -c /Zi /W1 /Od /MD $(PORTAUDIO_CFLAGS) $?
$(CC) -c $(LOCAL_CFLAGS) $(PORTAUDIO_CFLAGS) $?
!ENDIF

View File

@ -29,7 +29,7 @@ libgcrypt-11.dll libgpg-error-0.dll: $(GNUTLS_DIR)\bin\$@
$(COPY) $(GNUTLS_DIR)\bin\$@ $@
clean:
rm -rf utest.exe *.obj
rm -rf utest.exe *.obj *.manifest
rm -rf libgcrypt-11.dll libgpg-error-0.dll
rm -rf state nodeid
rm -rf *~ *.*~