aclocal.m4
来自「Linux/Unix下的绘图函数库(Graphic Drawing Librar」· M4 代码 · 共 1,956 行 · 第 1/5 页
M4
1,956 行
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locatednl libraries, but is otherwise very convenient.AC_DEFUN([AC_LIB_PREFIX],[ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_ARG_WITH([lib-prefix],[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir],[ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/lib"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi])dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,dnl acl_final_exec_prefix, containing the values to which $prefix anddnl $exec_prefix will expand at the end of the configure script.AC_DEFUN([AC_LIB_PREPARE_PREFIX],[ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix"])dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with thednl variables prefix and exec_prefix bound to the values they will havednl at the end of the configure script.AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],[ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix"])# libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-# serial 46 AC_PROG_LIBTOOLAC_DEFUN([AC_PROG_LIBTOOL],[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl# This can be used to rebuild libtool when neededLIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"# Always use our own libtool.LIBTOOL='$(SHELL) $(top_builddir)/libtool'AC_SUBST(LIBTOOL)dnl# Prevent multiple expansiondefine([AC_PROG_LIBTOOL], [])])AC_DEFUN([AC_LIBTOOL_SETUP],[AC_PREREQ(2.13)dnlAC_REQUIRE([AC_ENABLE_SHARED])dnlAC_REQUIRE([AC_ENABLE_STATIC])dnlAC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnlAC_REQUIRE([AC_CANONICAL_HOST])dnlAC_REQUIRE([AC_CANONICAL_BUILD])dnlAC_REQUIRE([AC_PROG_CC])dnlAC_REQUIRE([AC_PROG_LD])dnlAC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnlAC_REQUIRE([AC_PROG_NM])dnlAC_REQUIRE([LT_AC_PROG_SED])dnlAC_REQUIRE([AC_PROG_LN_S])dnlAC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnlAC_REQUIRE([AC_OBJEXT])dnlAC_REQUIRE([AC_EXEEXT])dnldnl_LT_AC_PROG_ECHO_BACKSLASH# Only perform the check for file, if the check method requires itcase $deplibs_check_method infile_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then AC_PATH_MAGIC fi ;;esacAC_CHECK_TOOL(RANLIB, ranlib, :)AC_CHECK_TOOL(STRIP, strip, :)ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],enable_win32_dll=yes, enable_win32_dll=no)AC_ARG_ENABLE(libtool-lock, [ --disable-libtool-lock avoid locking (might break parallel builds)])test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes# Some flags need to be propagated to the compiler or linker for good# libtool support.case $host in*-*-irix6*) # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi rm -rf conftest* ;;*-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_SAVE AC_LANG_C AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_RESTORE]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;;ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],[*-*-cygwin* | *-*-mingw* | *-*-pw32*) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) # recent cygwin and mingw systems supply a stub DllMain which the user # can override, but on older systems we have to supply one AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, [AC_TRY_LINK([], [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); DllMain (0, 0, 0);], [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) case $host/$CC in *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) # old mingw systems require "-dll" to link a DLL, while more recent ones # require "-mdll" SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -mdll" AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) CFLAGS="$SAVE_CFLAGS" ;; *-*-cygwin* | *-*-pw32*) # cygwin systems need to pass --dll to the linker, and not link # crt.o which will require a WinMain@16 definition. lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; esac ;; ])esac_LT_AC_LTCONFIG_HACK])# AC_LIBTOOL_HEADER_ASSERT# ------------------------AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],[AC_CACHE_CHECK([whether $CC supports assert without backlinking], [lt_cv_func_assert_works], [case $host in *-*-solaris*) if test "$GCC" = yes && test "$with_gnu_ld" != yes; then case `$CC --version 2>/dev/null` in [[12]].*) lt_cv_func_assert_works=no ;; *) lt_cv_func_assert_works=yes ;; esac fi ;; esac])if test "x$lt_cv_func_assert_works" = xyes; then AC_CHECK_HEADERS(assert.h)fi])# AC_LIBTOOL_HEADER_ASSERT# _LT_AC_CHECK_DLFCN# --------------------AC_DEFUN([_LT_AC_CHECK_DLFCN],[AC_CHECK_HEADERS(dlfcn.h)])# _LT_AC_CHECK_DLFCN# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE# ---------------------------------AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],[AC_REQUIRE([AC_CANONICAL_HOST])AC_REQUIRE([AC_PROG_NM])AC_REQUIRE([AC_OBJEXT])# Check for command to grab the raw symbol name followed by C symbol from nm.AC_MSG_CHECKING([command to parse $NM output])AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [dnl# These are sane defaults that work on at least a few old systems.# [They come from Ultrix. What could be older than Ultrix?!! ;)]# Character class describing NM global symbol codes.symcode='[[BCDEGRST]]'# Regexp to match symbols that can be accessed directly from C.sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'# Transform the above into a raw symbol and a C symbol.symxfrm='\1 \2\3 \3'# Transform an extracted symbol line into a proper C declarationlt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"# Transform an extracted symbol line into symbol name and symbol addresslt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'"# Define system-specific variables.case $host_os inaix*) symcode='[[BCDT]]' ;;cygwin* | mingw* | pw32*) symcode='[[ABCDGISTW]]' ;;hpux*) # Its linker distinguishes data from code symbols lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;;irix* | nonstopux*) symcode='[[BCDEGRST]]' ;;osf*) symcode='[[BCDEGQRST]]' ;;solaris* | sysv5*) symcode='[[BDT]]' ;;sysv4) symcode='[[DFNSTU]]' ;;esac# Handle CRLF in mingw tool chainopt_cr=case $host_os inmingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;;esac# If we're using GNU nm, then use its standard symbol codes.if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then symcode='[[ABCDGISTW]]'fi# Try without a prefix undercore, then with it.for ac_symprfx in "" "_"; do # Write the raw and C identifiers.lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<EOF#ifdef __cplusplusextern "C" {#endifchar nm_test_var;void nm_test_func(){}#ifdef __cplusplus}#endifint main(){nm_test_var='a';nm_test_func();return(0);}EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?