631 lines
21 KiB
Text
631 lines
21 KiB
Text
|
#!/bin/sh
|
||
|
|
||
|
PACKAGE=newlisp
|
||
|
VERSION=10.7.0
|
||
|
|
||
|
rm -f config.h makefile_build makefile_install
|
||
|
|
||
|
# this script tries to discover the OS platform and configuration
|
||
|
# and then makes newLISP using the appropiate makefile
|
||
|
# if this script fails and for other special flavors, like
|
||
|
# making shared libraries etc., type:
|
||
|
#
|
||
|
# make help
|
||
|
# to see all options specified in Makefile
|
||
|
#
|
||
|
# to change $(prefix) edit prefix in Makefile
|
||
|
|
||
|
# Generate a config.h file with all our different option settings that are set
|
||
|
# by #define
|
||
|
|
||
|
# Now we set the default values for our new Makefile
|
||
|
DEFAULT_CC="cc"
|
||
|
DARWIN_CC="${DEFAULT_CC}"
|
||
|
LINUX_CC="gcc"
|
||
|
BSD_CC="${DEFAULT_CC}"
|
||
|
SUNOS_CC="gcc"
|
||
|
AIX_CC="xlc_r"
|
||
|
TRU64_CC="cc"
|
||
|
WIN32_CC="gcc"
|
||
|
OS2_CC="${DEFAULT_CC}"
|
||
|
|
||
|
DEFAULT_CFLAGS=" -Wall -Wno-uninitialized -fno-strict-aliasing -O2 -c"
|
||
|
DARWIN_CFLAGS=" -Wall -Wno-long-long -Wno-strict-aliasing -O2 -c"
|
||
|
LINUX_CFLAGS=" -Wall -Wno-long-long -Wno-strict-aliasing -O2 -c"
|
||
|
BSD_CFLAGS=" -Wall -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c"
|
||
|
SUNOS_CFLAGS=" -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c"
|
||
|
AIX_XLCFLAGS=" -O2 -c"
|
||
|
AIX_GCCFLAGS=" -Wall -pedantic -Wno-uninitialized -Wno-long-long -fno-strict-aliasing -O2 -c"
|
||
|
TRU64_CFLAGS=" -ieee -pedantic -O3 -c -D_POSIX_PII_SOCKET"
|
||
|
WIN32_CFLAGS=" -Wall -Wno-uninitialized -Wno-long-long -O1 -c"
|
||
|
OS2_CFLAGS=" -Wall -pedantic -Wno-uninitialized -Wno-long-long -Wno-strict-aliasing -O2 -c -s"
|
||
|
|
||
|
DEFAULT_LDFLAGS="-lm"
|
||
|
DARWIN_LDFLAGS="${DEFAULT_LDFLAGS}"
|
||
|
LINUX_LDFLAGS="-lm -ldl"
|
||
|
BSD_LDFLAGS="${DEFAULT_LDFLAGS}"
|
||
|
SUNOS_LDFLAGS="-lm -ldl -lrt -lsocket -lnsl"
|
||
|
AIX_LDFLAGS="-lm -ldl -lrt -lnsl"
|
||
|
TRU64_LDFLAGS="-lm -lrt -ldb -lbsd"
|
||
|
WIN32_LDFLAGS="-lws2_32"
|
||
|
OS2_LDFLAGS="-Zomf -Zmt -lm -ldl"
|
||
|
|
||
|
DEFAULT_OBJS="newlisp.o nl-symbol.o nl-math.o nl-list.o nl-liststr.o nl-string.o nl-filesys.o \
|
||
|
nl-sock.o nl-import.o nl-xml-json.o nl-web.o nl-matrix.o nl-debug.o pcre.o"
|
||
|
|
||
|
DEFAULT_STRIP="strip"
|
||
|
WIN32_STRIP="strip"
|
||
|
|
||
|
DEFAULT_TARG="newlisp"
|
||
|
WIN32_TARG="newlisp.exe"
|
||
|
OS2_TARG="newlisp.exe"
|
||
|
|
||
|
echo
|
||
|
case `uname` in
|
||
|
Darwin) true ${os_type:=MAC_OSX} ;;
|
||
|
Linux) true ${os_type:=LINUX} ;;
|
||
|
FreeBSD) true ${os_type:=_BSD} ;;
|
||
|
NetBSD) true ${os_type:=_BSD} ;;
|
||
|
OpenBSD) true ${os_type:=_BSD} ;;
|
||
|
SunOS) true ${os_type:=SUNOS} ;;
|
||
|
AIX) true ${os_type:=AIX} ;;
|
||
|
OSF1) true ${os_type:=TRU64} ;;
|
||
|
MINGW*) true ${os_type:=WINDOWS} ;;
|
||
|
OS/2) true ${os_type:=OS2} ;;
|
||
|
*)
|
||
|
echo Could not discover your OS platform use one of the following commands:
|
||
|
make help
|
||
|
exit
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
echo "Detected Operating System ${os_type}"
|
||
|
|
||
|
if [ ${os_type} = MAC_OSX ] ; then
|
||
|
DEFAULT_CFLAGS="${DARWIN_CFLAGS}"
|
||
|
elif [ ${os_type} = LINUX ] ; then
|
||
|
DEFAULT_CFLAGS="${LINUX_CFLAGS}"
|
||
|
DEFAULT_LDFLAGS="${LINUX_LDFLAGS}"
|
||
|
elif [ ${os_type} = _BSD ] ; then
|
||
|
DEFAULT_CFLAGS="${BSD_CFLAGS}"
|
||
|
elif [ ${os_type} = SUNOS ] ; then
|
||
|
DEFAULT_CFLAGS="${SUNOS_CFLAGS}"
|
||
|
DEFAULT_LDFLAGS="${SUNOS_LDFLAGS}"
|
||
|
elif [ ${os_type} = AIX ] ; then
|
||
|
DEFAULT_CC="${AIX_CC}"
|
||
|
DEFAULT_CFLAGS="${AIX_XLCFLAGS}"
|
||
|
true ${enable_readline:=no};
|
||
|
elif [ ${os_type} = TRU64 ] ; then
|
||
|
DEFAULT_CC="${TRU64_CC}"
|
||
|
DEFAULT_CFLAGS="${TRU64_CFLAGS}"
|
||
|
DEFAULT_LDFLAGS="${TRU64_LDFLAGS}"
|
||
|
elif [ ${os_type} = WINDOWS ] ; then
|
||
|
DEFAULT_CC="${WIN32_CC}"
|
||
|
DEFAULT_CFLAGS="${WIN32_CFLAGS}"
|
||
|
DEFAULT_LDFLAGS="${WIN32_LDFLAGS}"
|
||
|
DEFAULT_OBJS="${DEFAULT_OBJS} win-util.o win-path.o"
|
||
|
DEFAULT_STRIP="${WIN32_STRIP}"
|
||
|
DEFAULT_TARG="${WIN32_TARG}"
|
||
|
true ${enable_readline:=no};
|
||
|
true ${enable_utf8:=no};
|
||
|
elif [ ${os_type} = OS2 ] ; then
|
||
|
DEFAULT_CFLAGS="${OS2_CFLAGS}"
|
||
|
DEFAULT_LDFLAGS="${OS2_LDFLAGS}"
|
||
|
DEFAULT_TARG="${OS2_TARG}"
|
||
|
true ${enable_readline:=yes};
|
||
|
fi
|
||
|
|
||
|
# Only LP64 and ILP32 memory models are officially supported, but we'll try to
|
||
|
# support the others too.
|
||
|
cat > test-memorymodel.c <<EOF
|
||
|
/* test-memorymodel.c Ted Walther <ted@reactor-core.org>
|
||
|
*
|
||
|
* return a string with the type of memory model the current compiler is using.
|
||
|
*/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
|
||
|
int
|
||
|
main(int argc, char** argv) {
|
||
|
short sc = sizeof(char) * 8;
|
||
|
short ss = sizeof(short) * 8;
|
||
|
short si = sizeof(int) * 8;
|
||
|
short sl = sizeof(long) * 8;
|
||
|
short sp = sizeof(void*) * 8;
|
||
|
|
||
|
if (si == 32 && sl == 64 && sp == 64) { printf("LP64\n"); return 0; }
|
||
|
if (si == 64 && sl == 64 && sp == 64) { printf("ILP64\n"); return 0; }
|
||
|
if (si == 32 && sl == 32 && sp == 64) { printf("LLP64\n"); return 0; }
|
||
|
if (si == 32 && sl == 32 && sp == 32) { printf("ILP32\n"); return 0; }
|
||
|
if (si == 16 && sl == 32 && sp == 32) { printf("LP32\n"); return 0; }
|
||
|
printf("UNKNOWN\n"); return 1;
|
||
|
}
|
||
|
EOF
|
||
|
${CC:-${DEFAULT_CC}} test-memorymodel.c -o test-memorymodel 2>/dev/null
|
||
|
true ${memory_model:=`./test-memorymodel`}
|
||
|
echo "Detected memory model `./test-memorymodel`"
|
||
|
rm -f test-memorymodel*
|
||
|
|
||
|
# time_t is 64 bits on modern platforms. Support this.
|
||
|
cat > test-time-t.c <<EOF
|
||
|
#include <stdio.h>
|
||
|
#include <time.h>
|
||
|
|
||
|
int
|
||
|
main(int argc, char** argv) {
|
||
|
short bits = sizeof(time_t) * 8;
|
||
|
|
||
|
if (bits == 64) { printf("64BIT"); return 0; }
|
||
|
if (bits == 32) { printf("32BIT"); return 0; }
|
||
|
printf("UNSUPPORTED\n"); return 1;
|
||
|
}
|
||
|
EOF
|
||
|
${CC:-${DEFAULT_CC}} test-time-t.c -o test-time-t 2>/dev/null
|
||
|
true ${time_t_size:=`./test-time-t`}
|
||
|
echo "Detected time_t size `./test-time-t`"
|
||
|
rm -f test-time-t*
|
||
|
|
||
|
# If we can't compile with readline, and the environment variables don't
|
||
|
# specify otherwise, we will disable it.
|
||
|
cat > test-readline.c <<EOF
|
||
|
/* test-readline.c Fri Jul 10 14:57:33 PDT 2009 Ted Walther <ted@reactor-core.org>
|
||
|
*
|
||
|
* code for testing the compiler options to use for libreadline
|
||
|
*/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
#include <readline/readline.h>
|
||
|
#include <readline/history.h>
|
||
|
|
||
|
char **
|
||
|
test_completion (char * text, int start, int end) {
|
||
|
return NULL;
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main(int argc, char** argv) {
|
||
|
|
||
|
rl_readline_name = "test";
|
||
|
rl_attempted_completion_function = (CPPFunction *)test_completion;
|
||
|
readline(NULL);
|
||
|
add_history("test");
|
||
|
|
||
|
exit(0);
|
||
|
}
|
||
|
EOF
|
||
|
for cclibreadline in "-lreadline" "-lreadline -lncurses" "-lreadline -ltermcap" "-lreadline -lterminfo"; do
|
||
|
if ${CC:-${DEFAULT_CC}} test-readline.c ${cclibreadline} -o test-readline 2>/dev/null ; then
|
||
|
true ${enable_readline:=yes};
|
||
|
DEFAULT_RLFLAGS="${cclibreadline}";
|
||
|
echo "Detected readline flags: ${cclibreadline}";
|
||
|
break;
|
||
|
fi
|
||
|
done
|
||
|
true ${enable_readline:=no};
|
||
|
rm -f test-readline*
|
||
|
|
||
|
# If we can't compile with ffi, and the environment variables don't
|
||
|
# specify otherwise, we will disable it.
|
||
|
cat > test-ffi.c <<EOF
|
||
|
/* test-ffi.c Fri Jul 10 14:57:33 PDT 2009 Ted Walther <ted@reactor-core.org>
|
||
|
*
|
||
|
* code for testing the compiler options to use for libffi
|
||
|
*/
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <ffi.h>
|
||
|
|
||
|
int main(int argc, char** argv) {
|
||
|
ffi_cif cif;
|
||
|
ffi_type *args[1];
|
||
|
void *values[1];
|
||
|
char *s;
|
||
|
int rc;
|
||
|
|
||
|
args[0] = &ffi_type_pointer;
|
||
|
values[0] = &s;
|
||
|
|
||
|
if (ffi_prep_cif(&cif, FFI_DEFAULT_ABI, 1,
|
||
|
&ffi_type_uint, args) == FFI_OK)
|
||
|
{
|
||
|
s = "Hello World!";
|
||
|
ffi_call(&cif, puts, &rc, values);
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
EOF
|
||
|
for cclibffi in "-lffi"; do
|
||
|
if ${CC:-${DEFAULT_CC}} test-ffi.c ${DEFAULT_LDFLAGS} ${cclibffi} -o test-ffi 2>/dev/null ; then
|
||
|
true ${enable_ffi:=yes};
|
||
|
DEFAULT_FFIFLAGS="${cclibffi}";
|
||
|
echo "Detected ffi flags: ${cclibffi}";
|
||
|
break;
|
||
|
fi
|
||
|
done
|
||
|
true ${enable_ffi:=no};
|
||
|
rm -f test-ffi*
|
||
|
|
||
|
# Safe defaults;
|
||
|
true ${enable_utf8:=yes};
|
||
|
|
||
|
# Default values to control how the Makefile is generated
|
||
|
true ${enable_static:=no};
|
||
|
true ${enable_debug:=no};
|
||
|
|
||
|
for nlc_arg in "$@"; do
|
||
|
if test -n "$nlc_prev"; then
|
||
|
eval "$nlc_prev=\$nlc_arg"
|
||
|
nlc_prev=
|
||
|
continue
|
||
|
fi
|
||
|
case "${nlc_arg}" in
|
||
|
--*=*) nlc_optarg=`echo "$nlc_arg" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||
|
*) nlc_optarg= ;;
|
||
|
esac
|
||
|
case "${nlc_arg}" in
|
||
|
--enable-utf8) enable_utf8=yes; ;;
|
||
|
--disable-utf8) enable_utf8=no; ;;
|
||
|
--enable-readline) enable_readline=yes; ;;
|
||
|
--disable-readline) enable_readline=no; ;;
|
||
|
--enable-ffi) enable_ffi=yes; ;;
|
||
|
--disable-ffi) enable_ffi=no; ;;
|
||
|
--enable-static) enable_static=yes; ;;
|
||
|
--disable-static) enable_static=no; ;;
|
||
|
--enable-debug) enable_debug=yes; ;;
|
||
|
--disable-debug) enable_debug=no; ;;
|
||
|
--LP64) memory_model=LP64; ;;
|
||
|
--ILP64) memory_model=ILP64; ;;
|
||
|
--LLP64) memory_model=LLP64; ;;
|
||
|
--LP32) memory_model=LP32; ;;
|
||
|
--ILP32) memory_model=ILP32; ;;
|
||
|
--prefix) nlc_prev=prefix ;;
|
||
|
--prefix=*) prefix="$nlc_optarg" ;;
|
||
|
--exec-prefix) nlc_prev=exec_prefix ;;
|
||
|
--exec-prefix=*) exec_prefix="$nlc_optarg" ;;
|
||
|
--bindir) nlc_prev=bindir ;;
|
||
|
--bindir=*) bindir="$nlc_optarg" ;;
|
||
|
--mandir) nlc_prev=mandir ;;
|
||
|
--mandir=*) mandir="$nlc_optarg" ;;
|
||
|
--man1dir) nlc_prev=man1dir ;;
|
||
|
--man1dir=*) man1dir="$nlc_optarg" ;;
|
||
|
--docdir) nlc_prev=docdir ;;
|
||
|
--docdir=*) docdir="$nlc_optarg" ;;
|
||
|
--datadir) nlc_prev=datadir ;;
|
||
|
--datadir=*) datadir="$nlc_optarg" ;;
|
||
|
--help) cat <<EOF
|
||
|
Usage: ./configure-alt [options]
|
||
|
--help # Show this help message.
|
||
|
|
||
|
--prefix=dir # standard GNU option
|
||
|
--exec-prefix=dir # standard GNU option
|
||
|
--bindir=dir # standard GNU option
|
||
|
--datadir=dir # standard GNU option
|
||
|
--docdir=dir # standard GNU option
|
||
|
--mandir=dir # standard GNU option
|
||
|
--man1dir=dir # standard GNU option
|
||
|
|
||
|
--enable-utf8 # (default) Enable UTF8 support
|
||
|
--disable-utf8 # Disable UTF8 support
|
||
|
--enable-readline # (default) Enable readline support
|
||
|
--disable-readline # Disable readline support
|
||
|
--enable-ffi # (default) Enable foreign function interface
|
||
|
--disable-ffi # Disable foreign function interface
|
||
|
--enable-static # Link newlisp statically, suitable for use in chroot jails
|
||
|
--disable-static # (default) Link newlisp dynamically
|
||
|
--enable-debug # Include debugging information in the newlisp binary
|
||
|
--disable-debug # (default) Compile without debugging information
|
||
|
--LP64 # Use LP64 memory model, overriding auto-detection
|
||
|
--ILP64 # Use ILP64 memory model, overriding auto-detection
|
||
|
--LLP64 # Use LLP64 memory model, overriding auto-detection
|
||
|
--LP32 # Use LP32 memory model, overriding auto-detection
|
||
|
--ILP32 # Use ILP32 memory model, overriding auto-detection
|
||
|
EOF
|
||
|
exit; ;;
|
||
|
*) echo "Unrecognized option, ignoring: ${arg}" ;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ -z "$prefix" ] ; then prefix="/usr/local"; fi
|
||
|
if [ -z "$exec_prefix" ] ; then exec_prefix="$prefix"; fi
|
||
|
if [ -z "$bindir" ] ; then bindir="${exec_prefix}/bin"; fi
|
||
|
if [ -z "$datarootdir" ] ; then datarootdir="${prefix}/share"; fi
|
||
|
if [ -z "$datadir" ] ; then datadir="${datarootdir}"; fi
|
||
|
if [ -z "$docdir" ] ; then docdir="${datarootdir}/doc/${PACKAGE}"; fi
|
||
|
if [ -z "$mandir" ] ; then mandir="${prefix}/man"; fi
|
||
|
if [ -z "$man1dir" ] ; then man1dir="${mandir}/man1"; fi
|
||
|
if [ -z "$pkgdatadir" ] ; then pkgdatadir="${datadir}/${PACKAGE}-${VERSION}"; fi
|
||
|
|
||
|
cat >> config.h <<EOF
|
||
|
/* This file was generated automatically by ./configure-alt */
|
||
|
|
||
|
#define NEWLISPDIR "${pkgdatadir}"
|
||
|
|
||
|
EOF
|
||
|
|
||
|
cat >> config.h <<EOF
|
||
|
/* Operating System Type */
|
||
|
#define ${os_type}
|
||
|
|
||
|
/* Memory model for the platform */
|
||
|
#define MEMORY_MODEL_${memory_model}
|
||
|
|
||
|
EOF
|
||
|
|
||
|
|
||
|
if [ $memory_model = LP64 ] ; then
|
||
|
cat >> config.h <<EOF
|
||
|
/* This platform is using the LP64 memory model. Adding legacy #define */
|
||
|
#define NEWLISP64
|
||
|
|
||
|
EOF
|
||
|
fi
|
||
|
|
||
|
if [ $time_t_size = 64BIT ] ; then
|
||
|
cat >> config.h <<EOF
|
||
|
/* Large values of time_t are supported. */
|
||
|
#define TIME_T_64
|
||
|
|
||
|
EOF
|
||
|
fi
|
||
|
|
||
|
if [ $enable_utf8 = yes ] ; then
|
||
|
DEFAULT_OBJS="${DEFAULT_OBJS} nl-utf8.o"
|
||
|
cat >> config.h <<EOF
|
||
|
/* UTF8 support was chosen */
|
||
|
#define SUPPORT_UTF8
|
||
|
|
||
|
EOF
|
||
|
echo "UTF-8 is enabled"
|
||
|
fi
|
||
|
|
||
|
if [ $enable_readline = yes ] ; then
|
||
|
cat >> config.h <<EOF
|
||
|
/* READLINE support was chosen */
|
||
|
#define READLINE
|
||
|
|
||
|
EOF
|
||
|
echo "readline support is enabled"
|
||
|
else
|
||
|
DEFAULT_RLFLAGS=""
|
||
|
cat <<EOF
|
||
|
readline support is disabled
|
||
|
|
||
|
To enable readline support, use the --enable-readline option, and specify the
|
||
|
proper libraries to link by setting the RLFLAGS variable when running
|
||
|
configure. Also if necessary, use the INCLUDES variable to specify where the
|
||
|
readline header files are.
|
||
|
|
||
|
EOF
|
||
|
fi
|
||
|
|
||
|
if [ $enable_ffi = yes ] ; then
|
||
|
cat >> config.h <<EOF
|
||
|
/* FFI support was chosen */
|
||
|
#define FFI
|
||
|
|
||
|
EOF
|
||
|
echo "ffi support is enabled"
|
||
|
else
|
||
|
cat <<EOF
|
||
|
ffi support is disabled
|
||
|
|
||
|
To enable ffi support, use the --enable-ffi option, and specify the proper
|
||
|
libraries to link by setting the FFIFLAGS variable when running configure.
|
||
|
Also if necessary, use the INCLUDES variable to specify where the ffi header
|
||
|
files are.
|
||
|
|
||
|
EOF
|
||
|
fi
|
||
|
|
||
|
echo "/* EOF */" >> config.h
|
||
|
|
||
|
if [ $enable_static = yes ] ; then
|
||
|
DEFAULT_LDFLAGS="${DEFAULT_LDFLAGS} -static"
|
||
|
echo "Static linking enabled"
|
||
|
fi
|
||
|
|
||
|
if [ $enable_debug = yes ] ; then
|
||
|
DEFAULT_CFLAGS="${DEFAULT_CFLAGS} -g"
|
||
|
DEFAULT_LDFLAGS="${DEFAULT_LDFLAGS} -g"
|
||
|
echo "Debugging enabled"
|
||
|
fi
|
||
|
|
||
|
cat >test-archflag.c <<EOF
|
||
|
#include <stdio.h>
|
||
|
|
||
|
int
|
||
|
main(int argc, char** argv) {
|
||
|
printf("Hello World.\n");
|
||
|
}
|
||
|
EOF
|
||
|
|
||
|
DEFAULT_ARCHFLAGS=""
|
||
|
if [ $memory_model = LP64 ] ; then
|
||
|
if [ $os_type = AIX -a ${CC:-${DEFAULT_CC}} = xlc_r ] ; then
|
||
|
DEFAULT_ARCHFLAGS="-q64"
|
||
|
elif [ $os_type = AIX -a ${CC:-${DEFAULT_CC}} = gcc ] ; then
|
||
|
DEFAULT_ARCHFLAGS="-maix64"
|
||
|
else
|
||
|
if ${CC:-${DEFAULT_CC}} -m64 -o test-archflag test-archflag.c 2>/dev/null; then
|
||
|
DEFAULT_ARCHFLAGS="-m64"
|
||
|
fi
|
||
|
fi
|
||
|
elif [ $memory_model = ILP32 ] ; then
|
||
|
if ${CC:-${DEFAULT_CC}} -m32 -o test-archflag test-archflag.c 2>/dev/null; then
|
||
|
DEFAULT_ARCHFLAGS="-m32"
|
||
|
fi
|
||
|
fi
|
||
|
rm -f test-archflag*
|
||
|
|
||
|
STRIPBINARY=" \$(STRIP) \$(TARG)"
|
||
|
LINKSTAGE=" \$(CC) \$(OBJS) \$(ARCHFLAGS) \$(LDFLAGS) \$(RLFLAGS) \$(FFIFLAGS) -o \$(TARG)"
|
||
|
COMPILEOBJS=" \$(CC) \$(ARCHFLAGS) \$(CFLAGS) -DNEWCONFIG $<"
|
||
|
|
||
|
if [ $os_type = OS2 ] ; then
|
||
|
STRIPBINARY=""
|
||
|
elif [ $os_type = AIX -a $memory_model = LP64 ] ; then
|
||
|
LINKSTAGE=" OBJECT_MODE=64 \$(CC) \$(OBJS) \$(ARCHFLAGS) \$(LDFLAGS) \$(RLFLAGS) \$(FFIFLAGS) -o \$(TARG)"
|
||
|
fi
|
||
|
|
||
|
# Now let us make the Makefile (makefile_build)
|
||
|
cat > makefile_build <<EOF
|
||
|
# makefile for newLISP v. 10.1.x generated by the configure script (configure-alt)
|
||
|
CC = ${CC:-${DEFAULT_CC}}
|
||
|
CFLAGS = ${CFLAGS:-${DEFAULT_CFLAGS}} ${INCLUDES}
|
||
|
LDFLAGS = ${LDFLAGS:-${DEFAULT_LDFLAGS}}
|
||
|
OBJS = ${OBJS:-${DEFAULT_OBJS}}
|
||
|
STRIP = ${STRIP:-${DEFAULT_STRIP}}
|
||
|
TARG = ${TARG:-${DEFAULT_TARG}}
|
||
|
RLFLAGS = ${RLFLAGS:-${DEFAULT_RLFLAGS}}
|
||
|
FFIFLAGS = ${FFIFLAGS:-${DEFAULT_FFIFLAGS}}
|
||
|
ARCHFLAGS = ${ARCHFLAGS:-${DEFAULT_ARCHFLAGS}}
|
||
|
|
||
|
default: \$(OBJS)
|
||
|
${LINKSTAGE}
|
||
|
${STRIPBINARY}
|
||
|
|
||
|
.c.o:
|
||
|
${COMPILEOBJS}
|
||
|
|
||
|
\$(OBJS): primes.h protos.h config.h makefile_build
|
||
|
EOF
|
||
|
|
||
|
cat > makefile_install <<EOF
|
||
|
# This file was generated automatically by ./configure-alt
|
||
|
|
||
|
package=${PACKAGE}
|
||
|
version=${VERSION}
|
||
|
prefix=\$(DESTDIR)${prefix}
|
||
|
exec_prefix=\$(DESTDIR)${exec_prefix}
|
||
|
bindir=\$(DESTDIR)${bindir}
|
||
|
datarootdir=\$(DESTDIR)${datarootdir}
|
||
|
datadir=\$(DESTDIR)${datadir}
|
||
|
pkgdatadir=\$(DESTDIR)${pkgdatadir}
|
||
|
docdir=\$(DESTDIR)${docdir}
|
||
|
mandir=\$(DESTDIR)${mandir}
|
||
|
man1dir=\$(DESTDIR)${man1dir}
|
||
|
|
||
|
install:
|
||
|
-install -d \$(pkgdatadir)
|
||
|
-install -d \$(pkgdatadir)/modules
|
||
|
-install -d \$(pkgdatadir)/util
|
||
|
-install -d \$(docdir)
|
||
|
-install -d \$(man1dir)
|
||
|
-install -d \$(bindir)
|
||
|
-rm -f \$(bindir)/newlisp
|
||
|
-install -m 755 newlisp \$(bindir)/\$(package)-\$(version)
|
||
|
-cd \$(bindir); ln -s \$(package)-\$(version) newlisp
|
||
|
-install -m 755 util/newlispdoc \$(bindir)/newlispdoc
|
||
|
-install -m 644 util/syntax.cgi \$(pkgdatadir)/util/syntax.cgi
|
||
|
-install -m 644 util/newlisp.vim \$(pkgdatadir)/util/newlisp.vim
|
||
|
-install -m 644 doc/COPYING \$(docdir)/COPYING
|
||
|
-install -m 644 doc/CREDITS \$(docdir)/CREDITS
|
||
|
-install -m 644 doc/newlisp_manual.html \$(docdir)/newlisp_manual.html
|
||
|
-install -m 644 doc/newlisp_index.html \$(docdir)/newlisp_index.html
|
||
|
-install -m 644 doc/manual_frame.html \$(docdir)/manual_frame.html
|
||
|
-install -m 644 doc/CodePatterns.html \$(docdir)/CodePatterns.html
|
||
|
-install -m 644 doc/newLISPdoc.html \$(docdir)/newLISPdoc.html
|
||
|
-install -m 644 doc/newLISP-${version}-Release.html \$(docdir)/newLISP-${version}-Release.html
|
||
|
-install -m 644 doc/newlisp.1 \$(man1dir)/newlisp.1
|
||
|
-install -m 644 doc/newlispdoc.1 \$(man1dir)/newlispdoc.1
|
||
|
-install -m 644 modules/canvas.lsp \$(pkgdatadir)/modules/canvas.lsp
|
||
|
-install -m 644 modules/cgi.lsp \$(pkgdatadir)/modules/cgi.lsp
|
||
|
-install -m 644 modules/crypto.lsp \$(pkgdatadir)/modules/crypto.lsp
|
||
|
-install -m 644 modules/ftp.lsp \$(pkgdatadir)/modules/ftp.lsp
|
||
|
-install -m 644 modules/getopts.lsp \$(pkgdatadir)/modules/getopts.lsp
|
||
|
-install -m 644 modules/gsl.lsp \$(pkgdatadir)/modules/gsl.lsp
|
||
|
-install -m 644 modules/infix.lsp \$(pkgdatadir)/modules/infix.lsp
|
||
|
-install -m 644 modules/macro.lsp \$(pkgdatadir)/modules/macro.lsp
|
||
|
-install -m 644 modules/mysql.lsp \$(pkgdatadir)/modules/mysql.lsp
|
||
|
-install -m 644 modules/odbc.lsp \$(pkgdatadir)/modules/odbc.lsp
|
||
|
-install -m 644 modules/plot.lsp \$(pkgdatadir)/modules/plot.lsp
|
||
|
-install -m 644 modules/pop3.lsp \$(pkgdatadir)/modules/pop3.lsp
|
||
|
-install -m 644 modules/postgres.lsp \$(pkgdatadir)/modules/postgres.lsp
|
||
|
-install -m 644 modules/postscript.lsp \$(pkgdatadir)/modules/postscript.lsp
|
||
|
-install -m 644 modules/smtp.lsp \$(pkgdatadir)/modules/smtp.lsp
|
||
|
-install -m 644 modules/smtpx.lsp \$(pkgdatadir)/modules/smtpx.lsp
|
||
|
-install -m 644 modules/sqlite3.lsp \$(pkgdatadir)/modules/sqlite3.lsp
|
||
|
-install -m 644 modules/stat.lsp \$(pkgdatadir)/modules/stat.lsp
|
||
|
-install -m 644 modules/unix.lsp \$(pkgdatadir)/modules/unix.lsp
|
||
|
-install -m 644 modules/xmlrpc-client.lsp \$(pkgdatadir)/modules/xmlrpc-client.lsp
|
||
|
-install -m 644 modules/zlib.lsp \$(pkgdatadir)/modules/zlib.lsp
|
||
|
# GUI-Server install
|
||
|
-install -d \$(pkgdatadir)/guiserver
|
||
|
-install -d \$(docdir)/guiserver
|
||
|
-install -m 755 guiserver/newlisp-edit.lsp \$(bindir)/newlisp-edit
|
||
|
-install -m 644 guiserver/guiserver.jar \$(pkgdatadir)/guiserver.jar
|
||
|
-install -m 644 guiserver/guiserver.lsp \$(pkgdatadir)/guiserver.lsp
|
||
|
-install -m 644 guiserver/images/newLISP128.png \$(pkgdatadir)/newLISP128.png
|
||
|
-install -m 644 guiserver/COPYING \$(docdir)/guiserver/COPYING
|
||
|
-install -m 644 guiserver/index.html \$(docdir)/guiserver/index.html
|
||
|
-install -m 644 guiserver/guiserver.lsp.html \$(docdir)/guiserver/guiserver.lsp.html
|
||
|
-install -m 644 util/newlispdoc.css \$(docdir)/guiserver/newlispdoc.css
|
||
|
-install -m 644 guiserver/allfonts-demo.lsp \$(pkgdatadir)/guiserver/allfonts-demo.lsp
|
||
|
-install -m 644 guiserver/animation-demo.lsp \$(pkgdatadir)/guiserver/animation-demo.lsp
|
||
|
-install -m 644 guiserver/border-layout-demo.lsp \$(pkgdatadir)/guiserver/border-layout-demo.lsp
|
||
|
-install -m 644 guiserver/button-demo.lsp \$(pkgdatadir)/guiserver/button-demo.lsp
|
||
|
-install -m 644 guiserver/clipboard-demo.lsp \$(pkgdatadir)/guiserver/clipboard-demo.lsp
|
||
|
-install -m 644 guiserver/cursor-demo.lsp \$(pkgdatadir)/guiserver/cursor-demo.lsp
|
||
|
-install -m 644 guiserver/drag-demo.lsp \$(pkgdatadir)/guiserver/drag-demo.lsp
|
||
|
-install -m 644 guiserver/font-demo.lsp \$(pkgdatadir)/guiserver/font-demo.lsp
|
||
|
-install -m 644 guiserver/frameless-demo.lsp \$(pkgdatadir)/guiserver/frameless-demo.lsp
|
||
|
-install -m 644 guiserver/html-demo.lsp \$(pkgdatadir)/guiserver/html-demo.lsp
|
||
|
-install -m 644 guiserver/image-demo.lsp \$(pkgdatadir)/guiserver/image-demo.lsp
|
||
|
-install -m 644 guiserver/midi-demo.lsp \$(pkgdatadir)/guiserver/midi-demo.lsp
|
||
|
-install -m 644 guiserver/midi2-demo.lsp \$(pkgdatadir)/guiserver/midi2-demo.lsp
|
||
|
-install -m 644 guiserver/mouse-demo.lsp \$(pkgdatadir)/guiserver/mouse-demo.lsp
|
||
|
-install -m 644 guiserver/move-resize-demo.lsp \$(pkgdatadir)/guiserver/move-resize-demo.lsp
|
||
|
-install -m 644 guiserver/pinballs-demo.lsp \$(pkgdatadir)/guiserver/pinballs-demo.lsp
|
||
|
-install -m 644 guiserver/properties-demo.lsp \$(pkgdatadir)/guiserver/properties-demo.lsp
|
||
|
-install -m 644 guiserver/rotation-demo.lsp \$(pkgdatadir)/guiserver/rotation-demo.lsp
|
||
|
-install -m 644 guiserver/shapes-demo.lsp \$(pkgdatadir)/guiserver/shapes-demo.lsp
|
||
|
-install -m 644 guiserver/sound-demo.lsp \$(pkgdatadir)/guiserver/sound-demo.lsp
|
||
|
-install -m 644 guiserver/stroke-demo.lsp \$(pkgdatadir)/guiserver/stroke-demo.lsp
|
||
|
-install -m 644 guiserver/tabs-demo.lsp \$(pkgdatadir)/guiserver/tabs-demo.lsp
|
||
|
-install -m 644 guiserver/table-demo.lsp \$(pkgdatadir)/guiserver/table-demo.lsp
|
||
|
-install -m 644 guiserver/textfield-demo.lsp \$(pkgdatadir)/guiserver/textfield-demo.lsp
|
||
|
-install -m 644 guiserver/textrot-demo.lsp \$(pkgdatadir)/guiserver/textrot-demo.lsp
|
||
|
-install -m 644 guiserver/widgets-demo.lsp \$(pkgdatadir)/guiserver/widgets-demo.lsp
|
||
|
-install -m 644 guiserver/word-count.lsp \$(pkgdatadir)/guiserver/word-count.lsp
|
||
|
-install -m 644 guiserver/uppercase.lsp \$(pkgdatadir)/guiserver/uppercase.lsp
|
||
|
|
||
|
|
||
|
uninstall:
|
||
|
-rm \$(bindir)/\$(package)
|
||
|
-rm \$(bindir)/\$(package)-\$(version)
|
||
|
-rm \$(bindir)/newlispdoc
|
||
|
-rm \$(bindir)/newlisp-edit
|
||
|
-rm -rf \$(pkgdatadir)
|
||
|
-rm -rf \$(docdir)
|
||
|
-rm \$(man1dir)/newlisp.1
|
||
|
-rm \$(man1dir)/newlispdoc.1
|
||
|
|
||
|
install_home uninstall_home:
|
||
|
@echo "This option is disabled; please use the prefix variables at the configure stage."
|
||
|
|
||
|
# End of file
|
||
|
EOF
|
||
|
|
||
|
cat <<EOF
|
||
|
|
||
|
Variables:
|
||
|
|
||
|
package=${PACKAGE}
|
||
|
version=${VERSION}
|
||
|
prefix=${prefix}
|
||
|
exec_prefix=${exec_prefix}
|
||
|
bindir=${bindir}
|
||
|
datarootdir=${datarootdir}
|
||
|
datadir=${datadir}
|
||
|
pkgdatadir=${pkgdatadir}
|
||
|
docdir=${docdir}
|
||
|
mandir=${mandir}
|
||
|
man1dir=${man1dir}
|
||
|
|
||
|
Type "make" to build your newlisp binary.
|
||
|
EOF
|
||
|
|