From 2f4903f903223312d0a3a03dfd413059f24a07f5 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 12 May 2016 19:10:19 -0700 Subject: [PATCH 1/1] altosui/telegps/micropeak: Handle both MULTI_LIB and non-MULTI_LIB builds On x86 systems with -m32 and -m64 compilers, both libaltos32.so and libaltos64.so are built. Otherwise, we should use libaltos.so altosui only dealt with libaltos32.so and libaltos64.so, so it only worked on MULTI_LIB systems. telegps and micropeak only used libaltos.so, so they wouldn't work correctly on multi-lib systems. Fix all of them to work either way. Signed-off-by: Keith Packard --- altosui/Makefile.am | 23 ++++++++++++++++++----- micropeak/Makefile.am | 25 +++++++++++++++++++++---- telegps/Makefile.am | 27 ++++++++++++++++++++++----- 3 files changed, 61 insertions(+), 14 deletions(-) diff --git a/altosui/Makefile.am b/altosui/Makefile.am index a6338d38..cfe3bb5b 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -56,11 +56,17 @@ ALTOSLIB_CLASS=\ ALTOSUILIB_CLASS=\ altosuilib_$(ALTOSUILIB_VERSION).jar +if MULTI_ARCH +LIBALTOS_LINUX=libaltos32.so libaltos64.so +else +LIBALTOS_LINUX=libaltos.so +endif + LIBALTOS= \ - libaltos32.so \ - libaltos64.so \ + $(LIBALTOS_LINUX) \ libaltos.dylib \ - altos.dll + altos.dll \ + altos64.dll desktopdir = $(datadir)/applications desktop_file = altusmetrum-altosui.desktop @@ -163,7 +169,7 @@ WINDOWS_DIST=Altos-Windows-$(VERSION_DASH).exe FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) -LINUX_LIBS=libaltos32.so libaltos64.so +LINUX_LIBS=$(LIBALTOS_LINUX) LINUX_FILES=$(FAT_FILES) $(LINUX_LIBS) $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE) LINUX_EXTRA=altosui-fat @@ -178,7 +184,8 @@ all-local: classes/altosui $(JAR) altosui altosui-test altosui-jdb clean-local: -rm -rf classes $(JAR) $(FATJAR) \ - $(LINUX_DIST) $(LINUX_SH) $(MACOSX_DIST) windows $(WINDOWS_DIST) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) \ + Altos-Linux-*.tar.bz2 Altos-Linux-*.sh Altos-Mac-*.dmg Altos-Windows-*.exe \ + windows altoslib_*.jar altosuilib_*.jar $(FREETTS_CLASS) \ $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt altos-windows.log altos-windows.nsi \ altosui altosui-test altosui-jdb macosx linux *.desktop @@ -269,6 +276,10 @@ altosui-jdb: Makefile echo 'exec jdb -classpath "classes:./*:../libaltos:$(FREETTS)/freetts.jar:$(JCOMMON)/jcommon.jar:$(JFREECHART)/jfreechart.jar" -Djava.library.path="../libaltos/.libs" altosui/AltosUI "$$@"' >> $@ chmod +x $@ +libaltos.so: build-libaltos + -rm -f "$@" + $(LN_S) ../libaltos/.libs/"$@" . + libaltos32.so: build-libaltos -rm -f "$@" $(LN_S) ../libaltos/.libs/"$@" . @@ -293,6 +304,8 @@ altos64.dll: ../libaltos/altos64.dll ../libaltos/.libs/libaltos32.so: build-libaltos +../libaltos/.libs/libaltos.so: build-libaltos + ../libaltos/altos.dll: build-altos-dll ../libaltos/altos64.dll: build-altos64-dll diff --git a/micropeak/Makefile.am b/micropeak/Makefile.am index a8834a66..7ad2c102 100644 --- a/micropeak/Makefile.am +++ b/micropeak/Makefile.am @@ -40,8 +40,14 @@ JAR=micropeak.jar FATJAR=micropeak-fat.jar +if MULTI_ARCH +LIBALTOS_LINUX=libaltos32.so libaltos64.so +else +LIBALTOS_LINUX=libaltos.so +endif + LIBALTOS= \ - libaltos.so \ + $(LIBALTOS_LINUX) \ libaltos.dylib \ altos64.dll \ altos.dll @@ -98,8 +104,7 @@ all-local: micropeak-test micropeak-jdb $(JAR) clean-local: -rm -rf classes $(JAR) $(FATJAR) \ MicroPeak-Linux-*.tar.bz2 MicroPeak-Mac-*.dmg MicroPeak-Windows-*.exe \ - $(ALTOSLIB_CLASS) \ - $(ALTOSUILIB_CLASS) \ + altoslib_*.jar altosuilib_*.jar \ $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt \ micropeak micropeak-test micropeak-jdb macosx linux windows micropeak-windows.log \ micropeak-windows.nsi *.desktop @@ -121,7 +126,7 @@ DOC=$(MICROPEAK_DOC) FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) -LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE) +LINUX_FILES=$(FAT_FILES) $(LIBALTOS_LINUX) $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE) LINUX_EXTRA=micropeak-fat $(desktop_file).in MACOSX_DRIVER_0_URL=http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_18.dmg @@ -220,6 +225,14 @@ libaltos.so: build-libaltos -rm -f "$@" $(LN_S) ../libaltos/.libs/"$@" . +libaltos32.so: build-libaltos + -rm -f "$@" + $(LN_S) ../libaltos/.libs/"$@" . + +libaltos64.so: build-libaltos + -rm -f "$@" + $(LN_S) ../libaltos/.libs/"$@" . + libaltos.dylib: -rm -f "$@" $(LN_S) ../libaltos/"$@" . @@ -232,6 +245,10 @@ altos64.dll: ../libaltos/altos64.dll -rm -f "$@" $(LN_S) ../libaltos/"$@" . +../libaltos/.libs/libaltos64.so: ../libaltos/.libs/libaltos32.so + +../libaltos/.libs/libaltos32.so: build-libaltos + ../libaltos/.libs/libaltos.so: build-libaltos ../libaltos/altos.dll: build-altos-dll diff --git a/telegps/Makefile.am b/telegps/Makefile.am index 0b86329a..3484b951 100644 --- a/telegps/Makefile.am +++ b/telegps/Makefile.am @@ -42,8 +42,14 @@ JAR=telegps.jar FATJAR=telegps-fat.jar +if MULTI_ARCH +LIBALTOS_LINUX=libaltos32.so libaltos64.so +else +LIBALTOS_LINUX=libaltos.so +endif + LIBALTOS= \ - libaltos.so \ + $(LIBALTOS_LINUX) \ libaltos.dylib \ altos64.dll \ altos.dll @@ -118,9 +124,8 @@ all-local: telegps-test telegps-jdb $(JAR) clean-local: -rm -rf classes $(JAR) $(FATJAR) \ TeleGPS-Linux-*.tar.bz2 TeleGPS-Mac-*.dmg TeleGPS-Windows-*.exe \ - $(ALTOSLIB_CLASS) \ - $(ALTOSUILIB_CLASS) \ - $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt \ + altoslib_*.jar altosuilib_*.jar \ + $(JFREECHART_CLASS) $(JCOMMON_CLASS) $(FREETTS_CLASS) $(LIBALTOS) Manifest.txt Manifest-fat.txt \ telegps telegps-test telegps-jdb macosx linux windows telegps-windows.log \ telegps-windows.nsi *.desktop @@ -141,7 +146,7 @@ DOC=$(TELEGPS_DOC) FAT_FILES=$(FATJAR) $(ALTOSLIB_CLASS) $(ALTOSUILIB_CLASS) $(FREETTS_CLASS) $(JFREECHART_CLASS) $(JCOMMON_CLASS) -LINUX_FILES=$(FAT_FILES) libaltos.so $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE) +LINUX_FILES=$(FAT_FILES) $(LIBALTOS_LINUX) $(FIRMWARE) $(DOC) $(desktop_file).in $(LINUX_ICONS) $(LINUX_MIMETYPE) LINUX_EXTRA=telegps-fat $(desktop_file).in MACOSX_INFO_PLIST=Info.plist @@ -219,6 +224,14 @@ libaltos.so: build-libaltos -rm -f "$@" $(LN_S) ../libaltos/.libs/"$@" . +libaltos32.so: build-libaltos + -rm -f "$@" + $(LN_S) ../libaltos/.libs/"$@" . + +libaltos64.so: build-libaltos + -rm -f "$@" + $(LN_S) ../libaltos/.libs/"$@" . + libaltos.dylib: -rm -f "$@" $(LN_S) ../libaltos/"$@" . @@ -231,6 +244,10 @@ altos64.dll: ../libaltos/altos64.dll -rm -f "$@" $(LN_S) ../libaltos/"$@" . +../libaltos/.libs/libaltos64.so: ../libaltos/.libs/libaltos32.so + +../libaltos/.libs/libaltos32.so: build-libaltos + ../libaltos/.libs/libaltos.so: build-libaltos ../libaltos/altos.dll: build-altos-dll -- 2.30.2