Hello,
Building unattended from linuxboot/Makefile has the following troubles:
* slang/libslang.a need stage1/lib/libdl.so to be (already) present
* pciutils/lspci is built against kernel of host system, not with building
env.
* dosemu does not use slang from build environment.
Please find attached the following items:
- a patch for linuxboot/Makefile (file Makefile.patch)
- file misc.dosemu-configure-patch
to be stored as linuxboot/misc/dosemu-configure-patch.
Used by linuxboot/Makefile (with Makefile patch above applied)
Details about linuxboot/misc/dosemu-configure-patch:
dosemu/configure provides command-line option --with-slangdir=<path> to
point slang includes and libs to be used.
We need to use this option in order to build dosemu against slang from
build env.
But this does not match unattended way to build that stores
includes in linuxboot/fakeinc/ and libs in linuxboot/fakelib/:
--with-slangdir of doesemu implies to have <path>/includes/*.h and
<path>/lib/*.{so,a}
So added command-line options to dosemu/configure:
--with-slanginc=<path> --with-slanglib=<path>
That allow to point correctly the slang from build environment.
My building environment: CentOS4/i686 (RHEL4 clone), gcc-3.4.6-10.i386,
binutils-2.15.92.0.2-25.i386, build as standard user, no chroot.
Pierre Bourgin
--- Makefile.orig 2009-03-04 13:25:31.000000000 +0100
+++ Makefile 2009-03-13 10:12:12.000000000 +0100
@@ -183,12 +183,16 @@
cd $(dosemu) && patch -b -p1 < $(cwd)/$<
touch $@
+$(dosemu)/.stamp-dosemu-configure-patch: misc/dosemu-configure-patch
+ cd $(dosemu) && patch -b -p1 < $(cwd)/$<
+ touch $@
+
fakeinclude/slang.h: $(slang)/src/slang.h
mkdir -p $(dir $@)
cp $< $@
[ -e $@ ] && touch $@
-$(slang)/src/objs/libslang.a: $(slang)/configure
+$(slang)/src/objs/libslang.a: stage1/lib/libdl.so $(slang)/configure
rm -f $@
cd $(slang) \
&& CC="$(CC) $(fakelib_cflags)" ./configure \
@@ -200,13 +204,20 @@
$(call copy_file, $(slang)/src/objs/libslang.a, \
fakelib/libslang.a)
+# dosemu:
+# - use slang of build environment (not system's one): patched
+# configure script to create our custom options (--with-slangdir
+# option does not work for us).
build-$(dosemu)/config.status: $(dosemu)/.stamp-dosemu-nolock-patch \
+ $(dosemu)/.stamp-dosemu-configure-patch \
$(dosemu)/configure fakelib/libslang.a \
fakeinclude/slang.h
rm -f $@
mkdir -p $(dir $@)
cd $(dir $@) \
&& CC="$(CC) $(fakelib_cflags)" $(cwd)/$(dosemu)/configure \
+ --with-slang-inc=$(cwd)/fakeinclude \
+ --with-slang-lib=$(cwd)/fakelib \
--without-x --without-gpm --build=i586-linux \
--prefix=/usr
[ -e $@ ]
@@ -473,7 +484,7 @@
## pciutils
$(pciutils)/lspci:
- $(MAKE) -C $(pciutils) PREFIX=/usr
+ $(MAKE) -C $(pciutils) PREFIX=/usr HOST="i586--linux" RELEASE="$(subst
linux-,,$(linux))" OPT="$(fakelib_cflags)"
[ -e $@ ]
$(call copy_exe, $(pciutils)/lspci, stage1/sbin/lspci)
dosemu/unattended: bypass --with-slangdir configure option; instead,
allow distinct settings of Include and Lib for S-LANG.
--- dosemu-1.4.0/configure.orig 2007-05-03 08:26:28.000000000 +0200
+++ dosemu-1.4.0/configure 2009-03-10 07:58:02.000000000 +0100
@@ -6645,6 +6645,8 @@
SLANGLIB="-L${with_slangdir}/lib"
fi
fi
+SLANGINC="-I${with_slang_inc}"
+SLANGLIB="-L${with_slang_lib}"
CPPFLAGS="$CPPFLAGS $SLANGINC"
{ echo "$as_me:$LINENO: result: $SLANGINC $SLANGLIB" >&5
echo "${ECHO_T}$SLANGINC $SLANGLIB" >&6; }
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
unattended-devel mailing list
unattended-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-devel