Initial revision
This commit is contained in:
commit
6a161fa938
80 changed files with 23264 additions and 0 deletions
124
configure.ac
Normal file
124
configure.ac
Normal file
|
@ -0,0 +1,124 @@
|
|||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
# Copyright (C) 2002 Yoshinori K. Okuji <okuji@enbug.org>
|
||||
#
|
||||
# This configure.ac is free software; the author
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
AC_INIT(PUPA, 0.6, [okuji@enbug.org])
|
||||
AC_PREREQ(2.53)
|
||||
AC_CONFIG_SRCDIR([include/pupa/dl.h])
|
||||
AC_CONFIG_HEADER([config.h])
|
||||
|
||||
# Checks for build and host systems.
|
||||
AC_CANONICAL_BUILD
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
case "$host_cpu" in
|
||||
i[[3456]]86) host_cpu=i386 ;;
|
||||
*) AC_MSG_ERROR([unsupported CPU type]) ;;
|
||||
esac
|
||||
|
||||
case "$host_cpu"-"$host_vendor" in
|
||||
i386-*) host_vendor=pc ;;
|
||||
*) AC_MSG_ERROR([unsupported machine type]) ;;
|
||||
esac
|
||||
|
||||
AC_SUBST(host_cpu)
|
||||
AC_SUBST(host_vendor)
|
||||
|
||||
# Checks for programs.
|
||||
if test "x$CFLAGS" = x; then
|
||||
default_CFLAGS=yes
|
||||
fi
|
||||
|
||||
AC_PROG_CC
|
||||
|
||||
# Must be GCC.
|
||||
test "x$GCC" = xyes || AC_MSG_ERROR([GCC is required])
|
||||
|
||||
if test "x$default_CFLAGS" = xyes; then
|
||||
# debug flags.
|
||||
tmp_CFLAGS="-Wall -W -g"
|
||||
|
||||
# optimization flags.
|
||||
AC_CACHE_CHECK([whether optimization for size works], size_flag, [
|
||||
CFLAGS=-Os
|
||||
AC_TRY_COMPILE(, , size_flag=yes, size_flag=no)
|
||||
])
|
||||
if test "x$size_flag" = xyes; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -Os"
|
||||
else
|
||||
tmp_CFLAGS="$tmp_CFLAGS -O2 -fno-strength-reduce -fno-unroll-loops"
|
||||
fi
|
||||
|
||||
# Force no alignment to save space on i386.
|
||||
if test "x$host_cpu" = xi386; then
|
||||
AC_CACHE_CHECK([whether -falign-loops works], [falign_loop_flag], [
|
||||
CFLAGS="-falign-loops=1"
|
||||
AC_TRY_COMPILE(, , [falign_loop_flag=yes], [falign_loop_flag=no])
|
||||
])
|
||||
|
||||
if test "x$falign_loop_flag" = xyes; then
|
||||
tmp_CFLAGS="$tmp_CFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1"
|
||||
else
|
||||
tmp_CFLAGS="$tmp_CFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1"
|
||||
fi
|
||||
fi
|
||||
|
||||
CFLAGS="$tmp_CFLAGS"
|
||||
fi
|
||||
AC_SUBST(CFLAGS)
|
||||
|
||||
# Defined in aclocal.m4.
|
||||
pupa_ASM_USCORE
|
||||
pupa_CHECK_START_SYMBOL
|
||||
pupa_CHECK_BSS_START_SYMBOL
|
||||
pupa_CHECK_END_SYMBOL
|
||||
|
||||
if test "x$host_cpu" = xi386; then
|
||||
pupa_I386_ASM_PREFIX_REQUIREMENT
|
||||
pupa_I386_ASM_ADDR32
|
||||
pupa_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK
|
||||
fi
|
||||
|
||||
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MAKE_SET
|
||||
AC_CHECK_TOOL(OBJCOPY, objcopy)
|
||||
pupa_PROG_OBJCOPY_ABSOLUTE
|
||||
AC_CHECK_TOOL(STRIP, strip)
|
||||
AC_CHECK_TOOL(NM, nm)
|
||||
|
||||
# This is not a "must".
|
||||
AC_PATH_PROG(RUBY, ruby)
|
||||
|
||||
# For cross-compiling.
|
||||
if test "x$build" = "x$host"; then
|
||||
BUILD_CC="$CC"
|
||||
AC_SUBST(BUILD_CC)
|
||||
else
|
||||
AC_CHECK_PROGS(BUILD_CC, [gcc egcs cc],
|
||||
[AC_MSG_ERROR([none of gcc, egcs and cc is found. set BUILD_CC manually.])])
|
||||
fi
|
||||
|
||||
# Test the C compiler for the build environment.
|
||||
pupa_tmp_CC="$CC"
|
||||
CC="$BUILD_CC"
|
||||
AC_C_BIGENDIAN
|
||||
AC_CHECK_SIZEOF(void *)
|
||||
AC_CHECK_SIZEOF(long)
|
||||
CC="$pupa_tmp_CC"
|
||||
|
||||
# Output files.
|
||||
AC_CONFIG_LINKS([include/pupa/cpu:include/pupa/$host_cpu
|
||||
include/pupa/machine:include/pupa/$host_cpu/$host_vendor])
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
|
||||
AC_OUTPUT
|
Loading…
Add table
Add a link
Reference in a new issue