static initializer: make cross-compilable
authorPierre-Marc Fournier <pierre-marc.fournier@polymtl.ca>
Wed, 11 Nov 2009 20:45:00 +0000 (15:45 -0500)
committerPierre-Marc Fournier <pierre-marc.fournier@polymtl.ca>
Wed, 11 Nov 2009 21:48:00 +0000 (16:48 -0500)
Makefile.am
configure.ac

index cd81be0e3f42363a4e629efef1e45e61e2aa4bbc..646b3d3026e5f9c999a15d3c2e8cc3e762628e2a 100644 (file)
@@ -9,9 +9,8 @@ ldscripts_DATA = libust.so libust-initializer.o
 
 CLEANFILES = $(ldscripts_DATA)
 
-libust_FORMAT := $(shell case $(shell uname -m) in (i*86) echo elf32-i386 ;; (x86_64) echo elf64-x86-64 ;; (ppc) echo elf32-powerpc ;; (ppc64) echo elf64-powerpc ;; (s390) echo elf32-s390 ;; (s390x) echo elf64-s390 ;; esac)
 libust.so: libust.ldscript.in
-       $(SED) -e "s@\@FORMAT\@@${libust_FORMAT}@" -e "s@\@PATH\@@${libdir}@g" < $< > $@
+       $(SED) -e "s@\@FORMAT\@@$(LIBFORMAT)@" -e "s@\@PATH\@@${libdir}@g" < $< > $@
 
 libust-initializer.o: libust-initializer.c
        $(CC) $(CFLAGS) -c -I$(top_srcdir)/include -o $@ $<
index 1070e2684cbe2d075479e490ca383fa85eae1f47..271bbb2c3489c1700865c6c049d6bb417f1175a4 100644 (file)
@@ -4,6 +4,8 @@
 #AC_PREREQ([2.63])
 AC_INIT([ust], [0.0], [pierre-marc dot fournier at polymtl dot ca])
 AC_CONFIG_AUX_DIR([config])
+AC_CANONICAL_TARGET
+AC_CANONICAL_HOST
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([0.0 foreign dist-bzip2 no-dist-gzip])
 AC_CONFIG_SRCDIR([ustctl/ustctl.c])
@@ -62,6 +64,21 @@ AC_CHECK_LIB([urcu-bp], [synchronize_rcu], [], [AC_MSG_ERROR([Cannot find liburc
 
 AC_CHECK_HEADERS([kcompat.h], [], [AC_MSG_ERROR([Cannot find kcompat headers (kcompat.h). Use [CFLAGS]=-Idir to specify their location.])])
 
+AC_MSG_CHECKING([library format for the target system])
+case $target_cpu in
+       i386) LIBFORMAT="elf32-i386" ;;
+       i486) LIBFORMAT="elf32-i386" ;;
+       i586) LIBFORMAT="elf32-i386" ;;
+       i686) LIBFORMAT="elf32-i386" ;;
+       x86_64) LIBFORMAT="elf64-x86-64" ;;
+       ppc) LIBFORMAT="elf32-powerpc" ;;
+       ppc64) LIBFORMAT="elf64-powerpc" ;;
+       s390) LIBFORMAT="elf32-s390" ;;
+       s390x) LIBFORMAT="elf64-s390" ;;
+       *) AC_MSG_ERROR([unable to detect library format (unsupported architecture?)]) ;;
+esac
+AC_SUBST(LIBFORMAT)
+AC_MSG_RESULT($LIBFORMAT)
 
 AC_CONFIG_FILES([
        Makefile
This page took 0.023778 seconds and 4 git commands to generate.