From 9441df61728a22747f28a713b6c00b1732acbd57 Mon Sep 17 00:00:00 2001 From: Pierre-Marc Fournier Date: Wed, 11 Nov 2009 15:45:00 -0500 Subject: [PATCH] static initializer: make cross-compilable --- Makefile.am | 3 +-- configure.ac | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index cd81be0..646b3d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 $@ $< diff --git a/configure.ac b/configure.ac index 1070e26..271bbb2 100644 --- a/configure.ac +++ b/configure.ac @@ -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 -- 2.34.1