changeset 530:756927e16211

Finish make/install.sh, and update make/make.sh to use one TINYCC_INSTALLDIR instead of separate TINYCC_HEADERDIR and TINYCC_LIBDIR entries. Also, use PREFIX since people seem to expect it, default is "/usr/local".
author Rob Landley <rob@landley.net>
date Sat, 08 Dec 2007 23:37:33 -0600
parents df3c131bf2f6
children 56fa8cc1b112
files configure make/install.sh make/make.sh tcc.c
diffstat 4 files changed, 23 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/configure	Fri Dec 07 11:30:34 2007 -0600
+++ b/configure	Sat Dec 08 23:37:33 2007 -0600
@@ -11,32 +11,31 @@
 [ -z "$CFLAGS" ] && CFLAGS="-g -Wall -fsigned-char -Os -fno-strict-aliasing"
 [ -z "$LIBS" ] && LIBS="-lm -ldl"
 [ -z "$HOST" ] && HOST=$(uname -m | sed 's/i.86/i686/')
+[ -z "$PREFIX" ] && PREFIX=/usr/local
+
+
 
 # Set the compiler's search/install paths.
 
-if [ "$HOST" == "x86_64" ] && [ TARGET="i386" ]
-then
-  LIB="lib32"
-else
-  LIB="lib"
-fi
+# i386 runs on an x86-64 host, but the library paths are abnormal.
 
-# Directory for tinycc libraries (such as libtinycc.a)
-[ -z "$TINYCC_LIBDIR" ] && TINYCC_LIBDIR=/usr/tinycc/lib
-# Directory for tinycc headers (varargs.h and such)
-[ -z "$TINYCC_HEADERDIR" ] && TINYCC_HEADERDIR=/usr/tinycc/include
+LIB="lib"
+[ "$HOST" == "x86_64" ] && [ TARGET="i386" ] && LIB="lib32"
+
+# Directory for tinycc libraries (such as libtinycc.a) and headers (stdarg.h)
+[ -z "$TINYCC_INSTALLDIR" ] && TINYCC_INSTALLDIR="$PREFIX"/tinycc
 # Where should the linker look for C runtime files (crt1.o, crti.o, crtn.o)
 [ -z "$CC_CRTDIR" ] && CC_CRTDIR="/usr/$LIB"
 # Path to search for system libraries.
 [ -z "$CC_LIBPATH" ] && CC_LIBPATH="/usr/local/$LIB:/usr/$LIB:/$LIB"
 # Path to search for system #include files.
-[ -z "$CC_HEADERPATH" ] && CC_HEADERPATH="$TINYCC_HEADERDIR":/usr/include:/usr/local/include
+[ -z "$CC_HEADERPATH" ] && CC_HEADERPATH="/usr/include:/usr/local/include"
 
 # For ./configure -v display all the variables we just set.
 
 if [ "$1" == "-v" ]
 then
-  for i in CC AR STRIP LIBSUF EXESUF CFLAGS LIBS HOST TINYCC_LIBDIR TINYCC_HEADERDIR CC_CRTDIR CC_LIBPATH CC_HEADERPATH
+  for i in CC AR STRIP LIBSUF EXESUF CFLAGS LIBS HOST PREFIX TINYCC_INSTALLDIR CC_CRTDIR CC_LIBPATH CC_HEADERPATH TARGET
   do
     echo -n "$i="
     eval 'echo "$'$i'"'
--- a/make/install.sh	Fri Dec 07 11:30:34 2007 -0600
+++ b/make/install.sh	Sat Dec 08 23:37:33 2007 -0600
@@ -2,15 +2,17 @@
 
 source ./configure
 
-# Install libraries
-
-mkdir -p "$TINYCC_LIBDIR"
-cp libtinycc-*.a "$TINYCC_LIBDIR"
+if [ -z "$TINYCC_INSTALLDIR" ]
+then
+  No TINYCC_INSTALLDIR
+  exit 1
+fi
 
-# Install headers
+# Install libraries and headers
 
-mkdir -p "$TINYCC_HEADERDIR"
-cp include/* "$TINYCC_HEADERDIR"
+$DEBUG mkdir -p "$TINYCC_INSTALLDIR"/{lib,include} &&
+$DEBUG cp libtinycc-*.a "$TINYCC_INSTALLDIR"/lib &&
+$DEBUG cp include/* "$TINYCC_INSTALLDIR"/include &&
 
 # Install binaries
-cp *-tinycc /usr/local/bin
+$DEBUG cp *-tinycc /usr/local/bin
--- a/make/make.sh	Fri Dec 07 11:30:34 2007 -0600
+++ b/make/make.sh	Sat Dec 08 23:37:33 2007 -0600
@@ -19,7 +19,7 @@
     -DTINYCC_TARGET_$1 \
     -DTINYCC_TARGET='"'$1'"' \
     -DTINYCC_VERSION='"'$TINYCC_VERSION'"' \
-    -DTINYCC_LIBDIR='"'$TINYCC_LIBDIR'"' \
+    -DTINYCC_INSTALLDIR='"'$TINYCC_INSTALLDIR'"' \
     -DCC_CRTDIR='"'$CC_CRTDIR'"' \
     -DCC_LIBPATH='"'$CC_LIBPATH'"' \
     -DCC_HEADERPATH='"'$CC_HEADERPATH'"' &&
--- a/tcc.c	Fri Dec 07 11:30:34 2007 -0600
+++ b/tcc.c	Sat Dec 08 23:37:33 2007 -0600
@@ -9664,7 +9664,7 @@
         tinycc_path = path;
     }
 #else
-    tinycc_path = TINYCC_LIBDIR;
+    tinycc_path = TINYCC_INSTALLDIR;
 #endif
 
     optind = parse_args(s, argc - 1, argv + 1) + 1;