Hi,
When trying to build oskit-mach, I ran into some problems with oskit
and several dependency issues. This patch fixes those and also fixes
a bug in the clean target which deletes config.h (this should only be
deleted by distclean).
Thanks,
-Neal
--
Neal H Walfield
University of Massachusetts at Lowell
[EMAIL PROTECTED] or [EMAIL PROTECTED]
Index: configure.in
===================================================================
RCS file: /cvs/gnumach/configure.in,v
retrieving revision 1.9.2.2
diff -u -r1.9.2.2 configure.in
--- configure.in 2000/01/25 23:58:21 1.9.2.2
+++ configure.in 2000/09/16 23:33:56
@@ -88,7 +88,18 @@
# Set up `machine' link in build directory for easier header file location.
AC_LINK_FILES(${systype}/${systype},machine)
-OSKIT_LIBDIR=`${CC} -print-file-name=oskit`
+# In a normal oskit installation, the libraries are installed in
+# /usr/local/lib; a path normally not search for
+AC_MSG_CHECKING([for oskit libraries])
+OSKIT_LIBDIR=$(${CC} -print-file-name=liboskit_startup.a)
+if test "${OSKIT_LIBDIR}x" = liboskit_startup.ax
+then
+ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([oskit libraries not found; Try setting \$LIBRARY_PATH.])
+else
+ OSKIT_LIBDIR=$(dirname "${OSKIT_LIBDIR}")
+ AC_MSG_RESULT([${OSKIT_LIBDIR}])
+fi
AC_SUBST(OSKIT_LIBDIR)
# Do machine-specific configuration last so that it can override anything
Index: Makefile.in
===================================================================
RCS file: /cvs/gnumach/Makefile.in,v
retrieving revision 1.22.2.6
diff -u -r1.22.2.6 Makefile.in
--- Makefile.in 2000/03/21 02:47:31 1.22.2.6
+++ Makefile.in 2000/09/16 23:33:57
@@ -233,8 +233,9 @@
clean:
rm -f *.[oda] kernel
- rm -f *.symc *.symc.o *_user.c *_server.c *.h
+ rm -f *.symc *.symc.o *_user.c *_server.c *.d
rm -f *.migs_d *.migsh_d *.migu_d *.miguh_d
+ rm -f $(ls *.h | grep -v config.h)
distclean: clean
rm -f config.status config.cache config.log config.h Makefile
@@ -273,15 +274,15 @@
sed -n 's/^kernel\.a(\([^)]*\)).*$$/\1/p' $< | sort > $@
kernel-unused: kernel.a.list kernel.map.list
(diff -u0 $^ || test $$? -eq 1) | sed -n '1,/@@/d;s/^-//p' > $@
-k%nel.o k%nel.map: $(OSKIT_LIBDIR)/multiboot.o $(osenv-overrides:=.o) k%nel.a
+k%nel.o k%nel.map: $(OSKIT_LIBDIR)/oskit/multiboot.o $(osenv-overrides:=.o) k%nel.a
$(CC) $(CFLAGS) -nostdlib -nostartfiles -r \
-o $(@:.map=.o) -Wl,-Map=$(@:.o=.map) \
- -Wl,-\( $^ $(OSKIT_LIBS) -Wl,-\) -lgcc
+ -L$(OSKIT_LIBDIR) -Wl,-\( $^ $(OSKIT_LIBS) -Wl,-\) -lgcc
# This rule has less overhead, but doesn't produce the intermediate
# results necessary to compute `kernel-unused'.
-kernel.o: $(OSKIT_LIBDIR)/multiboot.o $(objfiles)
+kernel.o: $(OSKIT_LIBDIR)/oskit/multiboot.o $(objfiles)
$(CC) $(CFLAGS) -nostdlib -nostartfiles -r -o $@ \
- -Wl,-\( $^ $(OSKIT_LIBS) -Wl,-\) -lgcc
+ -L$(OSKIT_LIBDIR) -Wl,-\( $^ $(OSKIT_LIBS) -Wl,-\) -lgcc
%-undef: %.o
$(NM) -u $< | sed 's/^_*//' | sort -u > $@
@@ -295,12 +296,12 @@
oskit-kern%.o: kern%.o clib-routines.o
$(CC) $(CFLAGS) -nostdlib -nostartfiles -r -o $@ \
- -Wl,-\( $^ -loskit_clientos -loskit_c $(OSKIT_LIBS) -Wl,-\) -lgcc
+ -L$(OSKIT_LIBDIR) -Wl,-\( $^ -loskit_clientos -loskit_c $(OSKIT_LIBS)
+-Wl,-\) -lgcc
%-undef-bad: %-undef Makefile
sed '$(foreach r,$(clib-routines) $(magic-symbols),/^$r$$/d;)' $< > $@
-kern%: oskit-kern%.o $(OSKIT_LIBDIR)/crtn.o
+kern%: oskit-kern%.o $(OSKIT_LIBDIR)/oskit/crtn.o
$(LD) $(LDFLAGS) -o $@ $^
# This combined with the other pattern rules let you ask
@@ -314,9 +315,9 @@
} > $@T
mv -f $@T $@
-kernel-%.o: $(OSKIT_LIBDIR)/multiboot.o $(objfiles) init-%.o
+kernel-%.o: $(OSKIT_LIBDIR)/oskit/multiboot.o $(objfiles) init-%.o
$(CC) $(CFLAGS) -nostdlib -nostartfiles -r -o $@ \
- -Wl,-\( $^ $(OSKIT_LIBS) -Wl,-\) -lgcc
+ -L$(OSKIT_LIBDIR) -Wl,-\( $^ $(OSKIT_LIBS) -Wl,-\) -lgcc
#
# Installation