Commit 732d94d2 authored by Eric Andersen's avatar Eric Andersen
Browse files

fixup a whole steaming pile of insanity. When packages are configured,

they should be configured with --prefix=/usr and we then need to use
make DESTDIR=$(STAGING_DIR) install to get things installed into the
staging directory.  The current situation for many packages, which use
--prefix=$(STAGING_DIR) results in the staging_dir paths getting compiled
into the binary itself.

This also adds in a pile of libtool fixups.  Between broken pkgconfig,
broken libtool handling, and broken --prefix settings, its a wonder
things have worked as well as they have up till now.
 -Erik
parent 4ac03cc8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ endif

$(ARGUS_DIR)/.configured: $(ARGUS_DIR)/.unpacked
	(cd $(ARGUS_DIR); rm -rf config.cache; \
		$(TARGET_CONFIGURE_OPTS) CC_FOR_BUILD="$(HOSTCC)" \
		$(TARGET_CONFIGURE_OPTS) \
		CFLAGS="$(TARGET_CFLAGS)" \
		$(ARGUS_TRAP_CHECK) \
		./configure \
+1 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ $(AT_DIR)/.configured: $(AT_DIR)/.unpacked
		--host=$(GNU_TARGET_NAME) \
		--build=$(GNU_HOST_NAME) \
		--prefix=/usr \
		--libdir=/lib \
		--libexecdir=/usr/lib \
		--sysconfdir=/etc \
		--localstatedir=/var \
+8 −21
Original line number Diff line number Diff line
@@ -30,7 +30,6 @@ $(ATK_DIR)/.unpacked: $(DL_DIR)/$(ATK_SOURCE)
$(ATK_DIR)/.configured: $(ATK_DIR)/.unpacked
	(cd $(ATK_DIR); rm -rf config.cache; \
		$(TARGET_CONFIGURE_OPTS) \
		PKG_CONFIG=$(STAGING_DIR)/usr/bin/pkg-config \
		ac_cv_c_bigendian=$(ATK_BE) \
		ac_cv_func_posix_getpwuid_r=yes \
		glib_cv_stack_grows=no \
@@ -90,18 +89,19 @@ $(ATK_DIR)/.configured: $(ATK_DIR)/.unpacked
		gl_cv_c_restrict=no \
		ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \
		./configure \
		--target=$(GNU_TARGET_NAME) \
		--host=$(REAL_GNU_TARGET_NAME) \
		--build=$(GNU_HOST_NAME) \
		--prefix=$(STAGING_DIR) \
		--exec_prefix=$(STAGING_DIR) \
		--libdir=$(STAGING_DIR)/lib \
		--includedir=$(STAGING_DIR)/include \
		--prefix=/usr \
		--exec-prefix=/usr \
		--bindir=/usr/bin \
		--sbindir=/usr/sbin \
		--libdir=/lib \
		--libexecdir=/usr/lib \
		--sysconfdir=/etc \
		--datadir=/usr/share \
		--localstatedir=/var \
		--includedir=/include \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--enable-shared \
@@ -120,21 +120,8 @@ $(ATK_DIR)/atk/.libs/$(ATK_BINARY): $(ATK_DIR)/.configured
	touch -c $(ATK_DIR)/atk/.libs/$(ATK_BINARY)

$(STAGING_DIR)/lib/$(ATK_BINARY): $(ATK_DIR)/atk/.libs/$(ATK_BINARY)
	$(MAKE) prefix=$(STAGING_DIR) \
	    exec_prefix=$(STAGING_DIR) \
	    bindir=$(STAGING_DIR)/bin \
	    sbindir=$(STAGING_DIR)/sbin \
	    libexecdir=$(STAGING_DIR)/libexec \
	    datadir=$(STAGING_DIR)/share \
	    sysconfdir=$(STAGING_DIR)/etc \
	    sharedstatedir=$(STAGING_DIR)/com \
	    localstatedir=$(STAGING_DIR)/var \
	    libdir=$(STAGING_DIR)/lib \
	    includedir=$(STAGING_DIR)/include \
	    oldincludedir=$(STAGING_DIR)/include \
	    infodir=$(STAGING_DIR)/info \
	    mandir=$(STAGING_DIR)/man \
	    -C $(ATK_DIR) install;
	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(ATK_DIR) install
	$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/lib\',g" $(STAGING_DIR)/lib/libatk-1.0.la
	touch -c $(STAGING_DIR)/lib/$(ATK_BINARY)

$(TARGET_DIR)/lib/libatk-1.0.so.0: $(STAGING_DIR)/lib/$(ATK_BINARY)
@@ -143,7 +130,7 @@ $(TARGET_DIR)/lib/libatk-1.0.so.0: $(STAGING_DIR)/lib/$(ATK_BINARY)
	$(STRIP) --strip-unneeded $(TARGET_DIR)/lib/libatk-1.0.so.0.*
	touch -c $(TARGET_DIR)/lib/libatk-1.0.so.0

atk: libglib2 $(TARGET_DIR)/lib/libatk-1.0.so.0
atk: libglib2 pkgconfig $(TARGET_DIR)/lib/libatk-1.0.so.0

atk-clean:
	rm -f $(TARGET_DIR)/lib/$(ATK_BINARY)
+77 −0
Original line number Diff line number Diff line
--- atk-1.9.1/ltmain.sh.orig	2004-11-23 09:19:19.000000000 -0700
+++ atk-1.9.1/ltmain.sh	2007-01-13 14:36:53.000000000 -0700
@@ -231,8 +231,9 @@
 	# line option must be used.
 	if test -z "$tagname"; then
 	  $echo "$modename: unable to infer tagged configuration"
-	  $echo "$modename: specify a tag with \`--tag'" 1>&2
-	  exit $EXIT_FAILURE
+	  $echo "$modename: defaulting to \`CC'"
+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
+#	  exit $EXIT_FAILURE
 #        else
 #          $echo "$modename: using $tagname tagged configuration"
 	fi
@@ -2279,8 +2280,14 @@
 	    absdir="$abs_ladir"
 	    libdir="$abs_ladir"
 	  else
-	    dir="$libdir"
-	    absdir="$libdir"
+            # Adding 'libdir' from the .la file to our library search paths
+            # breaks crosscompilation horribly.  We cheat here and don't add
+            # it, instead adding the path where we found the .la.  -CL
+	    dir="$abs_ladir"
+	    absdir="$abs_ladir"
+	    libdir="$abs_ladir"
+	    #dir="$libdir"
+	    #absdir="$libdir"
 	  fi
 	else
 	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
@@ -2754,6 +2761,16 @@
 		esac
 		if grep "^installed=no" $deplib > /dev/null; then
 		  path="$absdir/$objdir"
+#		This interferes with crosscompilation. -CL
+#		else
+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+#		  if test -z "$libdir"; then
+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+#		    exit 1
+#		  fi
+#		  if test "$absdir" != "$libdir"; then
+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+#		  fi
 		else
 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  if test -z "$libdir"; then
@@ -5141,6 +5158,10 @@
 	    # Replace all uninstalled libtool libraries with the installed ones
 	    newdependency_libs=
 	    for deplib in $dependency_libs; do
+              # Replacing uninstalled with installed can easily break crosscompilation,
+              # since the installed path is generally the wrong architecture.  -CL
+              newdependency_libs="$newdependency_libs $deplib"
+              continue
 	      case $deplib in
 	      *.la)
 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
@@ -5459,10 +5480,13 @@
 	  # At present, this check doesn't affect windows .dll's that
 	  # are installed into $libdir/../bin (currently, that works fine)
 	  # but it's something to keep an eye on.
-	  if test "$inst_prefix_dir" = "$destdir"; then
-	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-	    exit $EXIT_FAILURE
-	  fi
+	  #
+	  # This breaks install into our staging area.  -PB
+	  # 
+	  # if test "$inst_prefix_dir" = "$destdir"; then
+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+	  #   exit $EXIT_FAILURE
+	  # fi
 
 	  if test -n "$inst_prefix_dir"; then
 	    # Stick the inst_prefix_dir data into the link command.
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ $(AUTOCONF_DIR)/.configured: $(AUTOCONF_DIR)/.unpacked
		--exec-prefix=/usr \
		--bindir=/usr/bin \
		--sbindir=/usr/sbin \
		--libdir=/lib \
		--libexecdir=/usr/lib \
		--sysconfdir=/etc \
		--datadir=/usr/share \
Loading