diff options
author | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2009-05-08 15:56:46 +0000 |
---|---|---|
committer | tobigun <tobigun@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2009-05-08 15:56:46 +0000 |
commit | ca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d (patch) | |
tree | 67dbd5fd1b29f912cd1638f505070d88774a5aa5 /cmake/dists/autogen/m4/fpc.m4 | |
parent | f44a93685ae651a08b51a2688a1c8d4c9ae2d28e (diff) | |
download | usdx-ca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d.tar.gz usdx-ca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d.tar.xz usdx-ca5f0996cd93cfb7ed8d1cb6ad517a9af7f4341d.zip |
initial cmake support (let's see if this is better suited than autoconf)
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/experimental@1717 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r-- | cmake/dists/autogen/m4/fpc.m4 | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/cmake/dists/autogen/m4/fpc.m4 b/cmake/dists/autogen/m4/fpc.m4 deleted file mode 100644 index 740071cb..00000000 --- a/cmake/dists/autogen/m4/fpc.m4 +++ /dev/null @@ -1,268 +0,0 @@ -# Based on fpc.m4 Version 1.1 provided with -# J Sound System (http://jss.sourceforge.net) -# -# Originally written by -# Matti "ccr/TNSP" Hamalainen -# (C) Copyright 2000-2001 Tecnic Software productions (TNSP) -# -# Mostly rewritten by -# UltraStar Deluxe Team - -# SYNOPSIS -# -# AC_PROG_FPC -# -# DESCRIPTION -# -# Checks for Free Pascal Compiler -# -# Sets: -# PPC : fpc command -# FPCMAKE : fpcmake command -# -# PFLAGS : flags passed to fpc (overwrite default) -# PFLAGS_BASE : base flags (release + debug) -# PFLAGS_EXTRA : additional flags (appended to default PFLAGS) -# PFLAGS_DEBUG : flags used in debug build -# PFLAGS_RELEASE : flags used in release build -# -# Note: -# all PFLAGS/PFLAGS_XYZ vars are set to $(PFLAGS_XYZ_DEFAULT) -# if not set by the user, so the Makefile can assign default -# values to them. -# -# FPC_VERSION : fpc version string, e.g. 2.3.1 -# FPC_VERSION_MAJOR : major version (here 2) -# FPC_VERSION_MINOR : minor version (here 3) -# FPC_VERSION_RELEASE: release version (here 1) -# -# FPC_PLATFORM : platform of the target (linux/darwin/win32/...) -# FPC_PROCESSOR : processor of the target, (i386/...) -# FPC_CPLATFORM : platform of the compiler host, (linux/darwin/win32/...) -# FPC_CPROCESSOR : processor of the compiler host, (i386/...) -# FPC_TARGET : FPC_PROCESSOR-FPC_PLATFORM (e.g. i386-linux) -# -# FPC_PREFIX : prefix of fpc install path, (default: /usr) -# FPC_BASE_PATH : $FPC_PREFIX/lib/fpc/$FPC_VERSION -# FPC_UNIT_PATH : $FPC_BASE_PATH/units/$FPC_TARGET -# -# See "fpc -i" for a list of supported platforms and processors - -AC_DEFUN([AC_PROG_FPC], [ - -## -# User PFLAGS -## - -AC_ARG_VAR(PFLAGS, [Free Pascal Compiler flags (replaces all other flags)]) -AC_ARG_VAR(PFLAGS_BASE, [Free Pascal Compiler base flags, e.g. -Si]) -AC_ARG_VAR(PFLAGS_DEBUG, [Free Pascal Compiler debug flags, e.g. -gl]) -AC_ARG_VAR(PFLAGS_RELEASE, [Free Pascal Compiler release flags, e.g. -O2]) -AC_ARG_VAR(PFLAGS_EXTRA, [Free Pascal Compiler additional flags]) - -## -# Compiler options -## - -AC_ARG_ENABLE(dummy_fpc1,[ -Free Pascal Compiler specific options:]) - -# fpc path -AC_ARG_WITH(fpc, - [AS_HELP_STRING([--with-fpc=DIR], - [Directory of the FPC executable @<:@PATH@:>@])], - [PPC_PATH=$withval], []) - -# verbose -AC_ARG_ENABLE(verbose, - [AS_HELP_STRING([--disable-verbose], - [Disable verbose compiler output @<:@default=no@:>@])], - [test x$enableval = xno && PFLAGS_EXTRA="$PFLAGS_EXTRA -v0Bew"], []) - -# gprof -AC_ARG_ENABLE(gprof, - [AS_HELP_STRING([--enable-gprof], - [Enable profiling with gprof @<:@default=no@:>@])], - [test x$enableval = xyes && PFLAGS_EXTRA="$PFLAGS_EXTRA -pg"], []) - -# valgrind -AC_ARG_ENABLE(valgrind, - [AS_HELP_STRING([--enable-valgrind], - [Enable debugging with valgrind @<:@default=no@:>@])], - [test x$enableval = xyes && PFLAGS_EXTRA="$PFLAGS_EXTRA -gv"], []) - -# heaptrace -AC_ARG_ENABLE(heaptrace, - [AS_HELP_STRING([--enable-heaptrace], - [Enable heaptrace (memory corruption detection) @<:@default=no@:>@])], - [test x$enableval = xyes && PFLAGS_EXTRA="$PFLAGS_EXTRA -gh"], []) - -# range-checks -AC_ARG_ENABLE(rangechecks, - [AS_HELP_STRING([--enable-rangechecks], - [Enables range-checks @<:@default=no@:>@])], - [test x$enableval = xyes && PFLAGS_EXTRA="$PFLAGS_EXTRA -Crtoi"], []) - -# allow execstack (see noexecstack compiler check below) -AC_ARG_ENABLE(noexecstack, - [AS_HELP_STRING([--disable-noexecstack], - [Allow executable stacks @<:@default=no@:>@])], - [], [enable_noexecstack="yes"]) - -### -# Find compiler executable -### - -PPC_CHECK_PROGS="fpc FPC ppc386 ppc PPC386" - -if test -z "$PPC_PATH"; then - PPC_PATH=$PATH - AC_CHECK_PROGS(PPC, $PPC_CHECK_PROGS) - AC_CHECK_PROGS(FPCMAKE, [fpcmake]) -else - AC_PATH_PROGS(PPC, $PPC_CHECK_PROGS, [], $PPC_PATH) - AC_PATH_PROGS(FPCMAKE, [fpcmake], [], $PPC_PATH) -fi -if test -z "$PPC"; then - AC_MSG_ERROR([no Free Pascal Compiler found in $PPC_PATH]) -fi - -### -# Get the FPC compiler info -### - -AC_MSG_CHECKING([version of fpc]) -FPC_VERSION=`${PPC} -iV` -AX_EXTRACT_VERSION(FPC, $FPC_VERSION) -AC_SUBST(FPC_VERSION) -AC_MSG_RESULT([@<:@$FPC_VERSION@:>@]) - -FPC_PLATFORM=`${PPC} -iTO` -FPC_PROCESSOR=`${PPC} -iTP` -FPC_CPLATFORM=`${PPC} -iSO` -FPC_CPROCESSOR=`${PPC} -iSP` - -FPC_TARGET=${FPC_PROCESSOR}-${FPC_PLATFORM} - - -AC_SUBST(FPC_PLATFORM) -AC_SUBST(FPC_PROCESSOR) -AC_SUBST(FPC_CPLATFORM) -AC_SUBST(FPC_CPROCESSOR) -AC_SUBST(FPC_TARGET) - -### -# Get paths -### - -if test "x$prefix" != xNONE; then - FPC_PREFIX=$prefix -else - FPC_PREFIX=$ac_default_prefix -fi - -FPC_BASE_PATH="${FPC_PREFIX}/lib/fpc/${FPC_VERSION}" -FPC_UNIT_PATH="${FPC_BASE_PATH}/units/${FPC_TARGET}" - -AC_SUBST(FPC_PREFIX) -AC_SUBST(FPC_BASE_PATH) -AC_SUBST(FPC_UNIT_PATH) - -### -# Compiler checks -### - -SIMPLE_PROGRAM="program foo; begin writeln; end." - -# Check if FPC works and can compile a program -AC_CACHE_CHECK([whether the Free Pascal Compiler works], ac_cv_prog_ppc_works, -[ - AC_PROG_FPC_CHECK([ac_cv_prog_ppc_works], [], [$SIMPLE_PROGRAM]) -]) -if test x$ac_cv_prog_ppc_works = xno; then - AC_MSG_ERROR([installation or configuration problem: Cannot create executables.]) -fi - -# Check if FPC can link with standard libraries -AC_CACHE_CHECK([whether the Free Pascal Compiler can link], ac_cv_prog_ppc_links, -[ - AC_PROG_FPC_CHECK([ac_cv_prog_ppc_links], [], - [program foo; uses crt; begin writeln; end.] - ) -]) -if test x$ac_cv_prog_ppc_links = xno; then - AC_MSG_ERROR([installation or configuration problem: Cannot link with some standard libraries.]) -fi - -# Check whether FPC's linker knows "-z noexecstack" -# FPC does not set the NX-flag on stack memory. Binaries generated with FPC -# might crash on platforms that require the stack to be non-executable. -# So we will try to find a workaround here. -# See http://bugs.freepascal.org/view.php?id=11563 - -AC_CACHE_CHECK([whether FPC supports -k"-z noexecstack"], ac_cv_prog_ppc_noexecstack, -[ - AC_PROG_FPC_CHECK([ac_cv_prog_ppc_noexecstack], [-k"-z noexecstack"], [$SIMPLE_PROGRAM]) -]) -if test x$enable_noexecstack = xyes; then - if test x$ac_cv_prog_ppc_noexecstack = xyes; then - PFLAGS_EXTRA="$PFLAGS_EXTRA -k\"-z noexecstack\"" - fi -fi - -# Finally substitute PFLAGS - -# set unset PFLAGS_XYZ vars to $(PFLAGS_XYZ_DEFAULT) -# so the Makefile can define default values to it. -true ${PFLAGS:=\$(PFLAGS_DEFAULT)} -true ${PFLAGS_BASE:=\$(PFLAGS_BASE_DEFAULT)} -true ${PFLAGS_EXTRA:=\$(PFLAGS_EXTRA_DEFAULT)} -true ${PFLAGS_DEBUG:=\$(PFLAGS_DEBUG_DEFAULT)} -true ${PFLAGS_RELEASE:=\$(PFLAGS_RELEASE_DEFAULT)} - -AC_SUBST(PFLAGS) -AC_SUBST(PFLAGS_BASE) -AC_SUBST(PFLAGS_EXTRA) -AC_SUBST(PFLAGS_DEBUG) -AC_SUBST(PFLAGS_RELEASE) - -]) - -####################################### -# Helper functions -####################################### - -# SYNOPSIS -# -# AC_PROG_FPC_CHECK(RESULT, FPC_FLAGS, CODE) -# -# DESCRIPTION -# -# Checks if FPC is able to compile CODE with FPC_FLAGS. -# The result ("yes" on success, "no" otherwise) is -# stored in [$RESULT] -# -# Parameters: -# RESULT: Name of result variable -# FPC_FLAGS: Flags passed to FPC -# CODE: - -AC_DEFUN([AC_PROG_FPC_CHECK], -[ - # create test file - rm -f conftest* - echo "[$3]" > conftest.pp - - # compile test file - ${PPC} [$2] conftest.pp >> config.log 2>&1 - - # check if test file was compiled - if test -f conftest || test -f conftest.exe; then - [$1]="yes" - else - [$1]="no" - fi - - # remove test file - rm -f conftest* -]) |