From 0c5cf541b065e1adb8bd44af6dbe49dcff070c8f Mon Sep 17 00:00:00 2001 From: Eric Bollengier Date: Sun, 25 Oct 2009 09:53:09 +0100 Subject: [PATCH] simplify the link process for win32/win64 --- bacula/src/win32/lib/Makefile | 4 +++ bacula/src/win32/lib/make_def | 56 ++++++++++++++++++++++++----------- bacula/technotes | 3 ++ 3 files changed, 45 insertions(+), 18 deletions(-) diff --git a/bacula/src/win32/lib/Makefile b/bacula/src/win32/lib/Makefile index 619dc50ca5..d2d4a52e1a 100644 --- a/bacula/src/win32/lib/Makefile +++ b/bacula/src/win32/lib/Makefile @@ -134,6 +134,10 @@ clean: # Rules for generating from ../lib # +bacula$(WIN_VERSION).def: $(DLL_OBJS) + ./make_def $(WIN_VERSION) $(DLL_OBJS) >bacula$(WIN_VERSION).def.new && \ + mv bacula$(WIN_VERSION).def.new bacula$(WIN_VERSION).def + $(LIBDIR)/libbacula.a: DLL_DEFINE=USING_DLL $(LIBDIR)/libbacula.a: $(BINDIR)/bacula.dll $(STATIC_OBJS) diff --git a/bacula/src/win32/lib/make_def b/bacula/src/win32/lib/make_def index 89d21cbcd2..aaad7d0576 100755 --- a/bacula/src/win32/lib/make_def +++ b/bacula/src/win32/lib/make_def @@ -4,27 +4,47 @@ # manually # # Kern Sibbald, June 2007 +# Rewritten by James Harper, October 2009 # -TOPDIR=`(cd ../../..;pwd)` -TOPDIR=${DEPKGS:-${TOPDIR}} -NM=${TOPDIR}/cross-tools/mingw32/mingw32/bin/nm - -echo "LIBRARY bacula.dll" -echo "EXPORTS" -echo " " -cd obj32 -for i in *.o ; do \ - echo "; $i"; \ - ${NM} $i | grep "^[0-9a-f]* T _" | cut -c13- ; \ - echo " "; \ -done +FILES="$@" +if [ "$FILES" = "" ] +then + exit 1 +fi -DATA="\ - console_command \ - plugin_list" +TOPDIR=`(cd ../../../..;pwd)` +TOPDIR=${DEPKGS:-${TOPDIR}} +VERSION=$1 +shift +if [ "$VERSION" = 64 ]; then + NM=${TOPDIR}/cross-tools/mingw-w64/bin/mingw32-nm +elif [ "$VERSION" = 32 ]; then + NM=${TOPDIR}/cross-tools/mingw32/mingw32/bin/nm +else + echo "Usage: make_def [32|64] *.o" >&2 + exit 1 +fi -for i in ${DATA}; do \ - echo "$i DATA"; \ +echo LIBRARY bacula.dll +echo EXPORTS +echo "" + +$NM \ + --defined-only --extern-only $@ | while read addr type sym +do + sym=`echo $sym | cut -c2-` + case "$type" in + "B") + echo $sym DATA + ;; + "T") + echo $sym + ;; + "") + echo "; $addr" + ;; + esac done + diff --git a/bacula/technotes b/bacula/technotes index f196c77a54..3998182940 100644 --- a/bacula/technotes +++ b/bacula/technotes @@ -2,6 +2,9 @@ General: +25Oct09 +ebl Apply James make_def version to simplify the link process for Windows +ebl Update it for win64. 23Oct09 kes When dequeuing messages, don't allow queuing more, but send them to syslog. Fixes Eric's messages-test regression script. -- 2.39.5