kopia lustrzana https://github.com/jamescoxon/dl-fldigi
Update build scripts
Fix OS X universal flags Change to a a more portable way of linking hamlib staticallypull/2/head
rodzic
dd548b244d
commit
6561c6e31f
|
|
@ -33,7 +33,7 @@ if test "x$target_darwin" = "xyes" && test "x$ac_cv_mac_universal" = "xyes"; the
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
MAC_UNIVERSAL_CFLAGS="$mac_arches $mac_sysroot $mac_minversion"
|
MAC_UNIVERSAL_CFLAGS="$mac_arches $mac_sysroot $mac_minversion"
|
||||||
MAC_UNIVERSAL_LDFLAGS="-dynamiclib"
|
MAC_UNIVERSAL_LDFLAGS="$mac_arches"
|
||||||
fi
|
fi
|
||||||
AC_SUBST([MAC_UNIVERSAL_CFLAGS])
|
AC_SUBST([MAC_UNIVERSAL_CFLAGS])
|
||||||
AC_SUBST([MAC_UNIVERSAL_LDFLAGS])
|
AC_SUBST([MAC_UNIVERSAL_LDFLAGS])
|
||||||
|
|
|
||||||
|
|
@ -55,18 +55,15 @@ set -e
|
||||||
|
|
||||||
cd "$build"
|
cd "$build"
|
||||||
|
|
||||||
if test "x$STRIP" = "x0"; then
|
|
||||||
INSTALL_PROGRAM_CMD="$INSTALL_STRIP_PROGRAM"
|
|
||||||
else
|
|
||||||
INSTALL_PROGRAM_CMD="$INSTALL_PROGRAM"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# bundle the binary
|
# bundle the binary
|
||||||
appname="${PACKAGE_TARNAME}-${PACKAGE_VERSION}.app"
|
appname="${PACKAGE_TARNAME}-${PACKAGE_VERSION}.app"
|
||||||
echo "Creating ${build}/$bundle_dir/$appname"
|
echo "creating ${build}/$bundle_dir/$appname"
|
||||||
$mkinstalldirs "$bundle_dir/$appname/Contents/MacOS" "$bundle_dir/$appname/Contents/Resources"
|
$mkinstalldirs "$bundle_dir/$appname/Contents/MacOS" "$bundle_dir/$appname/Contents/Resources"
|
||||||
cd "$bundle_dir"
|
cd "$bundle_dir"
|
||||||
$INSTALL_PROGRAM_CMD "${build}/$binary" "$appname/Contents/MacOS"
|
$INSTALL_PROGRAM "${build}/$binary" "$appname/Contents/MacOS"
|
||||||
|
if test "x$STRIP" != "x0"; then
|
||||||
|
strip -S "$appname/Contents/MacOS/$binary"
|
||||||
|
fi
|
||||||
$INSTALL_DATA "$icon" "$appname/Contents/Resources"
|
$INSTALL_DATA "$icon" "$appname/Contents/Resources"
|
||||||
echo "APPL${signature}" > "$appname/Contents/PkgInfo"
|
echo "APPL${signature}" > "$appname/Contents/PkgInfo"
|
||||||
sed -e "s!%%IDENTIFIER%%!${identifier}!g; s!%%NAME%%!${name}!g;\
|
sed -e "s!%%IDENTIFIER%%!${identifier}!g; s!%%NAME%%!${name}!g;\
|
||||||
|
|
@ -79,7 +76,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
# bundle the binary and its non-standard dependencies
|
# bundle the binary and its non-standard dependencies
|
||||||
echo "Creating ${build}/$static_bundle_dir/$appname"
|
echo "creating ${build}/$static_bundle_dir/$appname"
|
||||||
cd ..
|
cd ..
|
||||||
$mkinstalldirs "$static_bundle_dir"
|
$mkinstalldirs "$static_bundle_dir"
|
||||||
cp -pR "$bundle_dir/$appname" "$static_bundle_dir"
|
cp -pR "$bundle_dir/$appname" "$static_bundle_dir"
|
||||||
|
|
@ -107,5 +104,7 @@ while test "x$list" != "x"; do
|
||||||
done
|
done
|
||||||
|
|
||||||
cd "$build"
|
cd "$build"
|
||||||
hdiutil create -srcfolder "$bundle_dir" -format UDZO -tgtimagekey zlib-level=9 "$PACKAGE_TARNAME-$PACKAGE_VERSION-nolibs.dmg"
|
echo $ECHO_N "creating disk image"
|
||||||
hdiutil create -srcfolder "$static_bundle_dir" -format UDZO -tgtimagekey zlib-level=9 "$PACKAGE_TARNAME-$PACKAGE_VERSION.dmg"
|
hdiutil create -ov -srcfolder "$bundle_dir" -format UDZO -tgtimagekey zlib-level=9 "$PACKAGE_TARNAME-$PACKAGE_VERSION-nolibs.dmg"
|
||||||
|
echo $ECHO_N "creating disk image"
|
||||||
|
hdiutil create -ov -srcfolder "$static_bundle_dir" -format UDZO -tgtimagekey zlib-level=9 "$PACKAGE_TARNAME-$PACKAGE_VERSION.dmg"
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This script must be run by make
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ $# -ne 1 ]; then
|
|
||||||
echo "Syntax: $0 obj-dir" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
tmp="$1"
|
|
||||||
binary="fldigi"
|
|
||||||
|
|
||||||
if ! test -r "$binary"; then
|
|
||||||
echo "E: $binary not found"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$PKG_CONFIG" != "x"; then
|
if test "x$PKG_CONFIG" != "x"; then
|
||||||
hamlib_dir="$($PKG_CONFIG --variable=libdir hamlib)"
|
hamlib_dir="$($PKG_CONFIG --variable=libdir hamlib)"
|
||||||
if test "x$hamlib_dir" = "x"; then
|
if test "x$hamlib_dir" = "x"; then
|
||||||
echo "E: Could not determine hamlib \$libdir"
|
echo "E: Could not determine hamlib \$libdir" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|
@ -28,20 +18,24 @@ else
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -rf $tmp
|
|
||||||
mkdir -p $tmp
|
|
||||||
cd $tmp
|
|
||||||
for i in "$hamlib_dir"/hamlib-*.a; do
|
|
||||||
ar x $i
|
|
||||||
done
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
case "$target_os" in
|
case "$target_os" in
|
||||||
*cygwin*)
|
*linux*)
|
||||||
AM_LDFLAGS="$AM_LDFLAGS -Wl,--export-all-symbols"
|
AM_LDFLAGS="$AM_LDFLAGS -Wl,--whole-archive $hamlib_dir/hamlib-*.a -Wl,--no-whole-archive"
|
||||||
|
;;
|
||||||
|
*darwin*)
|
||||||
|
# Apple's ld isn't quite up to this task: there is no way to specify -all_load for
|
||||||
|
# only a subset of the libraries that we must link with. For this reason we resort
|
||||||
|
# to using the "dangerous" -m flag, which turns "multiply defined symbol" errors
|
||||||
|
# into warnings. This will probably not work for ppc64 and x86_64 universal binaries.
|
||||||
|
AM_LDFLAGS="$AM_LDFLAGS -Wl,-all_load -Wl,-m $hamlib_dir/hamlib-*.a"
|
||||||
|
;;
|
||||||
|
*cygwin*)
|
||||||
|
AM_LDFLAGS="$AM_LDFLAGS -Wl,--export-all-symbols -Wl,--whole-archive $hamlib_dir/hamlib-*.a -Wl,--no-whole-archive"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "E: This script does not support $target_os" >&2
|
||||||
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
$CXX -o ${binary}${EXEEXT} $AM_CXXFLAGS $CXXFLAGS $AM_LDFLAGS $LDFLAGS $fldigi_OBJECTS $tmp/*.${OBJEXT} $fldigi_LDADD
|
$CXX -o ${1}${EXEEXT} $AM_CXXFLAGS $CXXFLAGS $AM_LDFLAGS $LDFLAGS $fldigi_OBJECTS $fldigi_LDADD
|
||||||
|
|
||||||
rm -rf $tmp
|
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ flgen: $(srcdir)/dialogs/confdialog.fl $(srcdir)/rigcontrol/rigdialog.fl
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if DARWIN
|
if DARWIN
|
||||||
appbundle:
|
appbundle: fldigi
|
||||||
sh $(srcdir)/../scripts/mkappbundle.sh "$(srcdir)/../data" . \
|
sh $(srcdir)/../scripts/mkappbundle.sh "$(srcdir)/../data" . \
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-bundle-nolibs \
|
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-bundle-nolibs \
|
||||||
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-bundle
|
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-bundle
|
||||||
|
|
@ -100,9 +100,8 @@ CLEAN_LOCAL_FILES += $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-bundle-nolibs \
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if ENABLE_HAMLIB
|
if ENABLE_HAMLIB
|
||||||
hamlib-static:
|
hamlib-static: $(fldigi_OBJECTS)
|
||||||
sh $(srcdir)/../scripts/mkhamlibstatic.sh hls-tmp
|
sh $(srcdir)/../scripts/mkhamlibstatic.sh fldigi
|
||||||
CLEAN_LOCAL_FILES += hls-tmp
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
clean-local:
|
clean-local:
|
||||||
|
|
|
||||||
Ładowanie…
Reference in New Issue