install root patch
Archie Cobbs
kaffe@rufus.w3.org
Tue, 21 Jul 1998 12:46:42 -0700 (PDT)
Below is a patch that allows you to change kaffe's "make install"
installation root directory.
This simply prefixes all install target directories with a variable
INSTROOT, which by default is the empty string. So you could, e.g.,
install into /tmp/usr/local while still "targeting" /usr/local.
Before you couldn't do this because the normal prefix (eg, /usr/local)
gets embedded in libkaffevm.so and other installed files.
This is useful if you're building kaffe on one machine, but targeting
for another machine.
A couple of notes:
o Since configure is generated from configure.in, the patch to configure
is not included below (you must regenerate configure using "autoconf";
if anyone wants it, email me).
o Ideally, configure would take a command line argument, something
like --install-root=DIRECTORY. Since I couldn't figure out how to
do this easily without modifying the autoconf m4 macros, instead
INSTROOT is just read from the environment variable DESTDIR.
o These patches are 100% backward compatible, ie., if DESTDIR is
not set (or empty) then everything works as before.
Tim et.al.: would it be possible to add this to kaffe? However you
want INSTROOT set is fine with me... surely there's a better way
than reading from an environment variable (the Makefile.in
patches should be OK even if this decision is delayed).
Thanks,
-Archie
___________________________________________________________________________
Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.com
Index: configure.in
===================================================================
RCS file: /cvs/mod/net/kaffe/configure.in,v
retrieving revision 1.1.1.6.2.2
diff -c -u -r1.1.1.6.2.2 configure.in
--- configure.in 1998/07/20 23:50:09 1.1.1.6.2.2
+++ configure.in 1998/07/21 19:33:27
@@ -221,6 +221,12 @@
fi
dnl =========================================================================
+dnl Use DESTDIR environment variable to set the root of all installs
+dnl -------------------------------------------------------------------------
+
+INSTROOT="$DESTDIR"
+
+dnl =========================================================================
dnl =========================================================================
dnl Setup for generating a depend make target
@@ -281,6 +287,7 @@
KPREFIX=$program_prefix
fi
AC_SUBST(KPREFIX)
+AC_SUBST(INSTROOT)
dnl =========================================================================
Index: include/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/include/Makefile.in,v
retrieving revision 1.1.1.3.2.2
diff -c -u -r1.1.1.3.2.2 Makefile.in
--- Makefile.in 1998/07/20 23:50:13 1.1.1.3.2.2
+++ Makefile.in 1998/07/21 19:33:28
@@ -9,6 +9,7 @@
prefix= @prefix@
srcdir= @srcdir@
incdir= @includedir@/kaffe
+INSTROOT= @INSTROOT@
INSTALL= @INSTALL@
INSTALL_DATA= @INSTALL_DATA@
MKDIR= @MKDIR@
@@ -38,14 +39,14 @@
rm -f Makefile $(BUILT_INCLUDEFILES) .depend
install:
- test -d $(incdir) || $(MKDIR) $(incdir)
+ test -d $(INSTROOT)$(incdir) || $(MKDIR) $(INSTROOT)$(incdir)
for i in $(BUILT_INCLUDEFILES) ;\
do \
- $(INSTALL_DATA) $$i $(incdir)/$$i ;\
+ $(INSTALL_DATA) $$i $(INSTROOT)$(incdir)/$$i ;\
done
for i in $(INCLUDEFILES) ;\
do \
- $(INSTALL_DATA) $(srcdir)/$$i $(incdir)/$$i ;\
+ $(INSTALL_DATA) $(srcdir)/$$i $(INSTROOT)$(incdir)/$$i ;\
done
depend:
Index: kaffe/kaffe/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/kaffe/kaffe/Makefile.in,v
retrieving revision 1.1.1.3.2.1
diff -c -u -r1.1.1.3.2.1 Makefile.in
--- Makefile.in 1998/07/16 19:42:13 1.1.1.3.2.1
+++ Makefile.in 1998/07/21 19:33:28
@@ -12,6 +12,7 @@
exec_prefix= @exec_prefix@
bindir= @bindir@
libdir= @libdir@
+INSTROOT= @INSTROOT@
INSTALL= @INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
MKDIR= @MKDIR@
@@ -45,8 +46,8 @@
rm -f .depend
install:
- test -d $(bindir) || $(MKDIR) $(bindir)
- $(INSTALL_PROGRAM) Kaffe$(EXEEXT) $(bindir)/Kaffe$(EXEEXT)
+ test -d $(INSTROOT)$(bindir) || $(MKDIR) $(INSTROOT)$(bindir)
+ $(INSTALL_PROGRAM) Kaffe$(EXEEXT) $(INSTROOT)$(bindir)/Kaffe$(EXEEXT)
.SUFFIXES: .d
Index: kaffe/kaffeh/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/kaffe/kaffeh/Makefile.in,v
retrieving revision 1.1.1.2
diff -c -u -r1.1.1.2 Makefile.in
--- Makefile.in 1998/07/10 23:00:22 1.1.1.2
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
bindir= @bindir@
+INSTROOT= @INSTROOT@
INSTALL= @INSTALL@
INSTALL_PROGRAM=@INSTALL_PROGRAM@
MKDIR= @MKDIR@
@@ -84,8 +85,8 @@
rm -f Makefile
install:
- test -d $(bindir) || $(MKDIR) $(bindir)
- $(INSTALL_PROGRAM) $(KPREFIX)kaffeh$(EXEEXT) $(bindir)/$(KPREFIX)kaffeh$(EXEEXT)
+ test -d $(INSTROOT)$(bindir) || $(MKDIR) $(INSTROOT)$(bindir)
+ $(INSTALL_PROGRAM) $(KPREFIX)kaffeh$(EXEEXT) $(INSTROOT)$(bindir)/$(KPREFIX)kaffeh$(EXEEXT)
@INC_DEPEND@
Index: kaffe/kaffevm/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/kaffe/kaffevm/Makefile.in,v
retrieving revision 1.1.1.2.4.1
diff -c -u -r1.1.1.2.4.1 Makefile.in
--- Makefile.in 1998/07/16 19:42:13 1.1.1.2.4.1
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
libdir= @libdir@
+INSTROOT= @INSTROOT@
INSTALL= @INSTALL@
INSTALL_DATA= @INSTALL_DATA@
MKDIR= @MKDIR@
@@ -106,10 +107,10 @@
rm -f Makefile .depend
install:
- test -d $(libdir) || $(MKDIR) $(libdir)
- $(INSTALL_DATA) $(LIB) $(libdir)/$(LIB)
- rm -f $(libdir)/$(LLIB)
- $(LN) $(LIB) $(libdir)/$(LLIB)
+ test -d $(INSTROOT)$(libdir) || $(MKDIR) $(INSTROOT)$(libdir)
+ $(INSTALL_DATA) $(LIB) $(INSTROOT)$(libdir)/$(LIB)
+ rm -f $(INSTROOT)$(libdir)/$(LLIB)
+ $(LN) $(LIB) $(INSTROOT)$(libdir)/$(LLIB)
depend: $(DEPENDS)
rm -f .depend
Index: kaffe/man/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/kaffe/man/Makefile.in,v
retrieving revision 1.1.1.2
diff -c -u -r1.1.1.2 Makefile.in
--- Makefile.in 1998/07/10 23:00:55 1.1.1.2
+++ Makefile.in 1998/07/21 19:33:28
@@ -9,6 +9,7 @@
prefix= @prefix@
srcdir= @srcdir@
mandir= @mandir@
+INSTROOT= @INSTROOT@
INSTALL= @INSTALL@
INSTALL_DATA= ${INSTALL} -m 644
MKDIR= @MKDIR@
@@ -21,9 +22,9 @@
rm -f Makefile .depend
install:
- test -d $(mandir) || $(MKDIR) $(mandir)
- test -d $(mandir)/man1 || $(MKDIR) $(mandir)/man1
- $(INSTALL_DATA) $(srcdir)/kaffe.1 $(mandir)/man1/kaffe.1
+ test -d $(INSTROOT)$(mandir) || $(MKDIR) $(INSTROOT)$(mandir)
+ test -d $(INSTROOT)$(mandir)/man1 || $(MKDIR) $(INSTROOT)$(mandir)/man1
+ $(INSTALL_DATA) $(srcdir)/kaffe.1 $(INSTROOT)$(mandir)/man1/kaffe.1
depend:
Index: kaffe/scripts/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/kaffe/scripts/Makefile.in,v
retrieving revision 1.1.1.3.2.1
diff -c -u -r1.1.1.3.2.1 Makefile.in
--- Makefile.in 1998/07/16 19:42:13 1.1.1.3.2.1
+++ Makefile.in 1998/07/21 19:33:28
@@ -10,6 +10,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
bindir= @bindir@
+INSTROOT= @INSTROOT@
INSTALL= @INSTALL@
INSTALL_SCRIPT= @INSTALL_SCRIPT@
MKDIR= @MKDIR@
@@ -38,28 +39,28 @@
install: install-pizza install-sun install-jars @suncompatible@
install-sun:
- test -d $(bindir) || $(MKDIR) $(bindir)
+ test -d $(INSTROOT)$(bindir) || $(MKDIR) $(INSTROOT)$(bindir)
for i in $(SCRIPTFILES_SUN) ;\
do \
- $(INSTALL_SCRIPT) $(srcdir)/$(SCREXT)/$$i $(bindir)/$(KPREFIX)$$i$(SCREXT) ;\
+ $(INSTALL_SCRIPT) $(srcdir)/$(SCREXT)/$$i $(INSTROOT)$(bindir)/$(KPREFIX)$$i$(SCREXT) ;\
done
install-pizza:
for i in $(SCRIPTFILES_PIZZA) ;\
do \
- $(INSTALL_SCRIPT) $(srcdir)/$(SCREXT)/$$i $(bindir)/$(KPREFIX)$$i$(SCREXT) ;\
+ $(INSTALL_SCRIPT) $(srcdir)/$(SCREXT)/$$i $(INSTROOT)$(bindir)/$(KPREFIX)$$i$(SCREXT) ;\
done
install-compat:
for i in $(SCRIPTFILES_COMPAT) ;\
do \
- $(INSTALL_SCRIPT) $(srcdir)/compat/$$i $(bindir)/$(KPREFIX)$$i$(SCREXT) ;\
+ $(INSTALL_SCRIPT) $(srcdir)/compat/$$i $(INSTROOT)$(bindir)/$(KPREFIX)$$i$(SCREXT) ;\
done
install-jars:
for i in $(PSCRIPTFILES) ;\
do \
- $(INSTALL_SCRIPT) $$i $(bindir)/$(KPREFIX)$$i ;\
+ $(INSTALL_SCRIPT) $$i $(INSTROOT)$(bindir)/$(KPREFIX)$$i ;\
done
depend:
Index: libraries/clib/awt/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/libraries/clib/awt/Makefile.in,v
retrieving revision 1.1.1.1.2.2
diff -c -u -r1.1.1.1.2.2 Makefile.in
--- Makefile.in 1998/07/16 19:42:13 1.1.1.1.2.2
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
nativedir= @libdir@
+INSTROOT= @INSTROOT@
CC= @CC@
LD= @LD@
AR= @AR@
@@ -85,10 +86,10 @@
rmdir X
install:
- test -d $(nativedir) || $(MKDIR) $(nativedir)
- rm -f $(nativedir)/$(LIB) $(nativedir)/$(LIBV)
- $(INSTALL_DATA) $(LIB) $(nativedir)/$(LIBV)
- $(LN) $(LIBV) $(nativedir)/$(LIB)
+ test -d $(INSTROOT)$(nativedir) || $(MKDIR) $(INSTROOT)$(nativedir)
+ rm -f $(INSTROOT)$(nativedir)/$(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
+ $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
+ $(LN) $(LIBV) $(INSTROOT)$(nativedir)/$(LIB)
depend: .dir-stamp external_wrappers.h $(DEPENDS)
rm -f .depend
Index: libraries/clib/management/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/libraries/clib/management/Makefile.in,v
retrieving revision 1.1.1.1.2.2
diff -c -u -r1.1.1.1.2.2 Makefile.in
--- Makefile.in 1998/07/16 19:42:14 1.1.1.1.2.2
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
nativedir= @libdir@
+INSTROOT= @INSTROOT@
CC= @CC@
LD= @LD@
AR= @AR@
@@ -72,10 +73,10 @@
rm -f Makefile .depend
install:
- test -d $(nativedir) || $(MKDIR) $(nativedir)
- rm -f $(nativedir)/$(LIB) $(nativedir)/$(LIBV)
- $(INSTALL_DATA) $(LIB) $(nativedir)/$(LIBV)
- $(LN) $(LIBV) $(nativedir)/$(LIB)
+ test -d $(INSTROOT)$(nativedir) || $(MKDIR) $(INSTROOT)$(nativedir)
+ rm -f $(INSTROOT)$(nativedir)/$(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
+ $(INSTALL_DATA) $(LIB) $(INSTROOT)$(nativedir)/$(LIBV)
+ $(LN) $(LIBV) $(INSTROOT)$(nativedir)/$(LIB)
depend: $(DEPENDS) external_wrappers.h
rm -f .depend
Index: libraries/clib/math/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/libraries/clib/math/Makefile.in,v
retrieving revision 1.1.1.1.4.1
diff -c -u -r1.1.1.1.4.1 Makefile.in
--- Makefile.in 1998/07/16 19:42:14 1.1.1.1.4.1
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
libdir= @libdir@
+INSTROOT= @INSTROOT@
CC= @CC@
LD= @LD@
AR= @AR@
@@ -75,10 +76,10 @@
rm -f Makefile .depend
install:
- test -d $(libdir) || $(MKDIR) $(libdir)
- $(INSTALL_DATA) $(LIB) $(libdir)/$(LIB)
- rm -f $(libdir)/$(LLIB)
- $(LN) $(LIB) $(libdir)/$(LLIB)
+ test -d $(INSTROOT)$(libdir) || $(MKDIR) $(INSTROOT)$(libdir)
+ $(INSTALL_DATA) $(LIB) $(INSTROOT)$(libdir)/$(LIB)
+ rm -f $(INSTROOT)$(libdir)/$(LLIB)
+ $(LN) $(LIB) $(INSTROOT)$(libdir)/$(LLIB)
depend: $(DEPENDS)
rm -f .depend
Index: libraries/clib/native/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/libraries/clib/native/Makefile.in,v
retrieving revision 1.1.1.2.2.1
diff -c -u -r1.1.1.2.2.1 Makefile.in
--- Makefile.in 1998/07/16 19:42:15 1.1.1.2.2.1
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
libdir= @libdir@
+INSTROOT= @INSTROOT@
CC= @CC@
LD= @LD@
AR= @AR@
@@ -117,10 +118,10 @@
rm -f Makefile .depend
install:
- test -d $(libdir) || $(MKDIR) $(libdir)
- $(INSTALL_DATA) $(LIB) $(libdir)/$(LIB)
- rm -f $(libdir)/$(LLIB)
- $(LN) $(LIB) $(libdir)/$(LLIB)
+ test -d $(INSTROOT)$(libdir) || $(MKDIR) $(INSTROOT)$(libdir)
+ $(INSTALL_DATA) $(LIB) $(INSTROOT)$(libdir)/$(LIB)
+ rm -f $(INSTROOT)$(libdir)/$(LLIB)
+ $(LN) $(LIB) $(INSTROOT)$(libdir)/$(LLIB)
depend: $(DEPENDS)
rm -f .depend
Index: libraries/clib/net/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/libraries/clib/net/Makefile.in,v
retrieving revision 1.1.1.1
diff -c -u -r1.1.1.1 Makefile.in
--- Makefile.in 1998/07/10 23:01:01 1.1.1.1
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
libdir= @libdir@
+INSTROOT= @INSTROOT@
CC= @CC@
LD= @LD@
AR= @AR@
@@ -78,10 +79,10 @@
rm -f Makefile .depend
install:
- test -d $(libdir) || $(MKDIR) $(libdir)
- $(INSTALL_DATA) $(LIB) $(libdir)/$(LIB)
- rm -f $(libdir)/$(LLIB)
- $(LN) $(LIB) $(libdir)/$(LLIB)
+ test -d $(INSTROOT)$(libdir) || $(MKDIR) $(INSTROOT)$(libdir)
+ $(INSTALL_DATA) $(LIB) $(INSTROOT)$(libdir)/$(LIB)
+ rm -f $(INSTROOT)$(libdir)/$(LLIB)
+ $(LN) $(LIB) $(INSTROOT)$(libdir)/$(LLIB)
depend: $(DEPENDS)
rm -f .depend
Index: libraries/clib/zip/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/libraries/clib/zip/Makefile.in,v
retrieving revision 1.1.1.1.4.1
diff -c -u -r1.1.1.1.4.1 Makefile.in
--- Makefile.in 1998/07/16 19:42:15 1.1.1.1.4.1
+++ Makefile.in 1998/07/21 19:33:28
@@ -11,6 +11,7 @@
prefix= @prefix@
exec_prefix= @exec_prefix@
libdir= @libdir@
+INSTROOT= @INSTROOT@
CC= @CC@
LD= @LD@
AR= @AR@
@@ -78,10 +79,10 @@
rm -f Makefile .depend
install:
- test -d $(libdir) || $(MKDIR) $(libdir)
- $(INSTALL_DATA) $(LIB) $(libdir)/$(LIB)
- rm -f $(libdir)/$(LLIB)
- $(LN) $(LIB) $(libdir)/$(LLIB)
+ test -d $(INSTROOT)$(libdir) || $(MKDIR) $(INSTROOT)$(libdir)
+ $(INSTALL_DATA) $(LIB) $(INSTROOT)$(libdir)/$(LIB)
+ rm -f $(INSTROOT)$(libdir)/$(LLIB)
+ $(LN) $(LIB) $(INSTROOT)$(libdir)/$(LLIB)
depend: $(DEPENDS)
rm -f .depend
Index: libraries/javalib/Makefile.in
===================================================================
RCS file: /cvs/mod/net/kaffe/libraries/javalib/Makefile.in,v
retrieving revision 1.1.1.2.2.2
diff -c -u -r1.1.1.2.2.2 Makefile.in
--- Makefile.in 1998/07/16 19:42:15 1.1.1.2.2.2
+++ Makefile.in 1998/07/21 19:33:28
@@ -13,6 +13,7 @@
srcdir= @srcdir@
prefix= @prefix@
classdir= @datadir@/kaffe
+INSTROOT= @INSTROOT@
INSTALL= @INSTALL@
INSTALL_DATA= @INSTALL_DATA@
@@ -30,10 +31,10 @@
all:
install:
- test -d $(classdir) || $(MKDIR) $(classdir)
+ test -d $(INSTROOT)$(classdir) || $(MKDIR) $(INSTROOT)$(classdir)
for i in $(JARS) ;\
do \
- if test -f $(srcdir)/$$i ; then $(INSTALL_DATA) $(srcdir)/$$i $(classdir)/$$i ; fi ;\
+ if test -f $(srcdir)/$$i ; then $(INSTALL_DATA) $(srcdir)/$$i $(INSTROOT)$(classdir)/$$i ; fi ;\
done
clean:
@@ -55,8 +56,8 @@
(cd $(LIBDIR) && $(ZIP) -r ../$(CLASSFILE) java kaffe)
install-classes:
- test -d $(classdir) || $(MKDIR) $(classdir)
- $(INSTALL_DATA) $(CLASSFILE) $(classdir)/$(CLASSFILE)
+ test -d $(INSTROOT)$(classdir) || $(MKDIR) $(INSTROOT)$(classdir)
+ $(INSTALL_DATA) $(CLASSFILE) $(INSTROOT)$(classdir)/$(CLASSFILE)
# not yet implemented, but must stay to not break make depend
depend: