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

Reply via email to