source: trunk/base/aclocal.m4 @ 13738

Last change on this file since 13738 was 13700, checked in by jberry, 15 years ago

Daemondo relies on CFNotificationCenterGetDarwinNotifyCenter, which is not available til Tiger, so test for it before trying to build.

  • Property svn:eol-style set to native
File size: 20.3 KB
Line 
1builtin(include,tcl.m4)
2
3#------------------------------------------------------------------------
4# OD_CHECK_FRAMEWORK_COREFOUNDATION --
5#
6#       Check if CoreFoundation framework is available, define HAVE_FRAMEWORK_COREFOUNDATION if so.
7#
8# Arguments:
9#       None.
10#
11# Requires:
12#       None.
13#
14# Depends:
15#               AC_LANG_PROGRAM
16#
17# Results:
18#       Result is cached.
19#
20#       If CoreFoundation framework is available, defines the following variables:
21#               HAVE_FRAMEWORK_COREFOUNDATION
22#
23#------------------------------------------------------------------------
24AC_DEFUN(OD_CHECK_FRAMEWORK_COREFOUNDATION, [
25        FRAMEWORK_LIBS="-framework CoreFoundation"
26
27        AC_MSG_CHECKING([for CoreFoundation framework])
28
29        AC_CACHE_VAL(od_cv_have_framework_corefoundation, [
30                ac_save_LIBS="$LIBS"
31                LIBS="$FRAMEWORK_LIBS $LIBS"
32               
33                AC_LINK_IFELSE([
34                        AC_LANG_PROGRAM([
35                                        #include <CoreFoundation/CoreFoundation.h>
36                                ], [
37                                        CFURLRef url = CFURLCreateWithFileSystemPath(NULL, CFSTR("/testing"), kCFURLPOSIXPathStyle, 1);
38                                        CFArrayRef bundles = CFBundleCreateBundlesFromDirectory(NULL, url, CFSTR("pkg"));
39                        ])
40                        ], [
41                                od_cv_have_framework_corefoundation="yes"
42                        ], [
43                                od_cv_have_framework_corefoundation="no"
44                        ]
45                )
46
47                LIBS="$ac_save_LIBS"
48        ])
49
50        AC_MSG_RESULT(${od_cv_have_framework_corefoundation})
51
52        if test x"${od_cv_have_framework_corefoundation}" = "xyes"; then
53                AC_DEFINE([HAVE_FRAMEWORK_COREFOUNDATION], [], [Define if CoreFoundation framework is available])
54        fi
55
56        AC_SUBST(HAVE_FRAMEWORK_COREFOUNDATION)
57])
58
59
60#------------------------------------------------------------------------
61# OD_CHECK_FUNCTION_CFNOTIFICATIONCENTERGETDARWINNOTIFYCENTER --
62#
63#       Check if if the routine CFNOTIFICATIONCENTERGETDARWINNOTIFYCENTER
64#       is available in CoreFoundation.
65#
66# Arguments:
67#       None.
68#
69# Requires:
70#       None.
71#
72# Depends:
73#               AC_LANG_PROGRAM
74#
75# Results:
76#       Result is cached.
77#
78#       If function CFNotificationCenterGetDarwinNotifyCenter is in the CoreFoundation framework, defines the following variables:
79#               HAVE_FUNCTION_CFNOTIFICATIONCENTERGETDARWINNOTIFYCENTER
80#
81#------------------------------------------------------------------------
82AC_DEFUN(OD_CHECK_FUNCTION_CFNOTIFICATIONCENTERGETDARWINNOTIFYCENTER, [
83        FRAMEWORK_LIBS="-framework CoreFoundation"
84
85        AC_MSG_CHECKING([for whether function CFNotificationCenterGetDarwinNotifyCenter is available])
86
87        AC_CACHE_VAL(od_cv_have_function_cfnotificationcentergetdarwinnotifycenter, [
88                ac_save_LIBS="$LIBS"
89                LIBS="$FRAMEWORK_LIBS $LIBS"
90               
91                AC_LINK_IFELSE([
92                        AC_LANG_PROGRAM([
93                                        #include <CoreFoundation/CoreFoundation.h>
94                                ], [
95                                        CFNotificationCenterRef ref = CFNotificationCenterGetDarwinNotifyCenter();
96                        ])
97                        ], [
98                                od_cv_have_function_cfnotificationcentergetdarwinnotifycenter="yes"
99                        ], [
100                                od_cv_have_function_cfnotificationcentergetdarwinnotifycenter="no"
101                        ]
102                )
103
104                LIBS="$ac_save_LIBS"
105        ])
106
107        AC_MSG_RESULT(${od_cv_have_function_cfnotificationcentergetdarwinnotifycenter})
108
109        if test x"${od_cv_have_function_cfnotificationcentergetdarwinnotifycenter}" = "xyes"; then
110                AC_DEFINE([HAVE_FUNCTION_CFNOTIFICATIONCENTERGETDARWINNOTIFYCENTER], [], [Define if function CFNotificationCenterGetDarwinNotifyCenter in CoreFoundation framework])
111        fi
112
113        AC_SUBST(HAVE_FUNCTION_CFNOTIFICATIONCENTERGETDARWINNOTIFYCENTER)
114])
115
116
117#------------------------------------------------------------------------
118# OD_CHECK_FRAMEWORK_SYSTEMCONFIGURATION --
119#
120#       Check if SystemConfiguration framework is available, define HAVE_FRAMEWORK_SYSTEMCONFIGURATION if so.
121#
122# Arguments:
123#       None.
124#
125# Requires:
126#       None.
127#
128# Depends:
129#               AC_LANG_PROGRAM
130#
131# Results:
132#       Result is cached.
133#
134#       If SystemConfiguration framework is available, defines the following variables:
135#               HAVE_FRAMEWORK_SYSTEMCONFIGURATION
136#
137#------------------------------------------------------------------------
138AC_DEFUN(OD_CHECK_FRAMEWORK_SYSTEMCONFIGURATION, [
139        FRAMEWORK_LIBS="-framework SystemConfiguration"
140
141        AC_MSG_CHECKING([for SystemConfiguration framework])
142
143        AC_CACHE_VAL(od_cv_have_framework_systemconfiguration, [
144                ac_save_LIBS="$LIBS"
145                LIBS="$FRAMEWORK_LIBS $LIBS"
146               
147                AC_LINK_IFELSE([
148                        AC_LANG_PROGRAM([
149                                        #include <SystemConfiguration/SystemConfiguration.h>
150                                ], [
151                                        int err = SCError();
152                                        SCDynamicStoreRef dsRef = SCDynamicStoreCreate(NULL, NULL, NULL, NULL);
153                        ])
154                        ], [
155                                od_cv_have_framework_systemconfiguration="yes"
156                        ], [
157                                od_cv_have_framework_systemconfiguration="no"
158                        ]
159                )
160
161                LIBS="$ac_save_LIBS"
162        ])
163
164        AC_MSG_RESULT(${od_cv_have_framework_systemconfiguration})
165
166        if test x"${od_cv_have_framework_systemconfiguration}" = "xyes"; then
167                AC_DEFINE([HAVE_FRAMEWORK_SYSTEMCONFIGURATION], [], [Define if SystemConfiguration framework is available])
168        fi
169
170        AC_SUBST(HAVE_FRAMEWORK_SYSTEMCONFIGURATION)
171])
172
173
174#------------------------------------------------------------------------
175# OD_CHECK_FRAMEWORK_IOKIT --
176#
177#       Check if IOKit framework is available, define HAVE_FRAMEWORK_IOKIT if so.
178#
179# Arguments:
180#       None.
181#
182# Requires:
183#       None.
184#
185# Depends:
186#               AC_LANG_PROGRAM
187#
188# Results:
189#       Result is cached.
190#
191#       If IOKit framework is available, defines the following variables:
192#               HAVE_FRAMEWORK_IOKIT
193#
194#------------------------------------------------------------------------
195AC_DEFUN(OD_CHECK_FRAMEWORK_IOKIT, [
196        FRAMEWORK_LIBS="-framework IOKit"
197
198        AC_MSG_CHECKING([for IOKit framework])
199
200        AC_CACHE_VAL(od_cv_have_framework_iokit, [
201                ac_save_LIBS="$LIBS"
202                LIBS="$FRAMEWORK_LIBS $LIBS"
203               
204                AC_LINK_IFELSE([
205                        AC_LANG_PROGRAM([
206                                        #include <IOKit/IOKitLib.h>
207                                ], [
208                                        IOCreateReceivePort(0, NULL);
209                                        IORegisterForSystemPower(0, NULL, NULL, NULL);
210                        ])
211                        ], [
212                                od_cv_have_framework_iokit="yes"
213                        ], [
214                                od_cv_have_framework_iokit="no"
215                        ]
216                )
217
218                LIBS="$ac_save_LIBS"
219        ])
220
221        AC_MSG_RESULT(${od_cv_have_framework_iokit})
222
223        if test x"${od_cv_have_framework_iokit}" = "xyes"; then
224                AC_DEFINE([HAVE_FRAMEWORK_IOKIT], [], [Define if IOKit framework is available])
225        fi
226
227        AC_SUBST(HAVE_FRAMEWORK_IOKIT)
228])
229
230
231dnl This macro checks if the user specified a dports tree
232dnl explicitly. If not, search for it
233
234# OD_PATH_DPORTSDIR(DEFAULT_DPORTSDIR)
235#---------------------------------------
236 AC_DEFUN([OD_PATH_DPORTSDIR],[
237        dnl For ease of reading, run after gcc has been found/configured
238        AC_REQUIRE([AC_PROG_CC])
239
240        AC_ARG_WITH(dports-dir, [AC_HELP_STRING([--with-dports-dir=DIR], [Specify alternate dports directory])], [ dportsdir="$withval" ] )
241
242
243        AC_MSG_CHECKING([for dports tree])
244        if test "x$dportsdir" != "x" ; then
245          if test -d "$dportsdir" -a -e "$dportsdir/PortIndex" ; then
246                :
247          else
248                AC_MSG_ERROR([$dportsdir not a valid dports tree])
249          fi
250        else
251                dnl If the user didn't give a path, look for default
252                if test "x$1" != "x" ; then
253                  if test -d "$1" -a -e "$1/PortIndex" ; then
254                        dportsdir=$1
255                  fi
256                fi
257        fi
258
259        if test "x$dportsdir" != "x" ; then
260                AC_MSG_RESULT($dportsdir)
261                DPORTSDIR="$dportsdir"
262                AC_SUBST(DPORTSDIR)
263        else
264                AC_MSG_WARN([No dports tree found])
265        fi
266
267         ])
268
269
270# OD_PATH_PORTCONFIGDIR
271#---------------------------------------
272AC_DEFUN([OD_PATH_PORTCONFIGDIR],[
273        dnl if the user actually specified --prefix, shift
274        dnl portconfigdir to $prefix/etc/ports
275        dnl     AC_REQUIRE([OD_PATH_DPORTSDIR])
276       
277        AC_MSG_CHECKING([for ports config directory])
278
279        portconfigdir='${sysconfdir}/ports'
280
281        AC_MSG_RESULT([$portconfigdir])
282        PORTCONFIGDIR="$portconfigdir"
283        AC_SUBST(PORTCONFIGDIR)
284
285        ])
286
287# OD_CHECK_INSTALLUSER
288#-------------------------------------------------
289AC_DEFUN([OD_CHECK_INSTALLUSER],[
290        dnl if with user specifies --with-install-user,
291        dnl use it. otherwise default to platform defaults
292        AC_REQUIRE([OD_PATH_PORTCONFIGDIR])
293
294        AC_ARG_WITH(install-user, [AC_HELP_STRING([--with-install-user=USER], [Specify user ownership of installed files])], [ DSTUSR=$withval ] )
295       
296        AC_MSG_CHECKING([for install user])
297        if test "x$DSTUSR" = "x" ; then
298           DSTUSR=root
299        fi
300
301        AC_MSG_RESULT([$DSTUSR])
302        AC_SUBST(DSTUSR)
303])
304
305# OD_CHECK_INSTALLGROUP
306#-------------------------------------------------
307AC_DEFUN([OD_CHECK_INSTALLGROUP],[
308        dnl if with user specifies --with-install-group,
309        dnl use it. otherwise default to platform defaults
310        AC_REQUIRE([OD_CHECK_INSTALLUSER])
311
312        AC_ARG_WITH(install-group, [AC_HELP_STRING([--with-install-group=GROUP], [Specify group ownership of installed files])], [ DSTGRP=$withval ] )
313
314        AC_MSG_CHECKING([for install group])
315        if test "x$DSTGRP" = "x" ; then
316           
317           case $host_os in
318           darwin*)
319                DSTGRP="admin"
320                ;;
321           *)
322                DSTGRP="wheel"
323                ;;
324           esac
325        fi
326
327        AC_MSG_RESULT([$DSTGRP])
328        AC_SUBST(DSTGRP)
329])
330
331# OD_DIRECTORY_MODE
332#-------------------------------------------------
333AC_DEFUN([OD_DIRECTORY_MODE],[
334        dnl if with user specifies --with-directory-mode,
335        dnl use the specified permissions for ${prefix} directories
336        dnl otherwise use 0775
337        AC_REQUIRE([OD_PATH_PORTCONFIGDIR])
338
339        AC_ARG_WITH(directory-mode, [AC_HELP_STRING([--with-directory-mode=MODE], [Specify directory mode of installed directories])], [ DSTMODE=$withval ] )
340       
341        AC_MSG_CHECKING([what permissions to use for installation directories])
342        if test "x$DSTMODE" = "x" ; then
343           DSTMODE=0775
344        fi
345
346        AC_MSG_RESULT([$DSTMODE])
347        AC_SUBST(DSTMODE)
348])
349
350# OD_LIB_MD5
351#---------------------------------------
352# Check for an md5 implementation
353AC_DEFUN([OD_LIB_MD5],[
354
355        # Check for libmd, which is prefered
356        AC_CHECK_LIB([md], [MD5Update],[
357                AC_CHECK_HEADERS([md5.h], ,[
358                        case $host_os in
359                                darwin*)       
360                                        AC_MSG_NOTICE([Please install the BSD SDK package from the Xcode Developer Tools CD.])
361                                        ;;
362                                *)     
363                                        AC_MSG_NOTICE([Please install the libmd developer headers for your platform.])
364                                        ;;
365                        esac
366                        AC_MSG_ERROR([libmd was found, but md5.h is missing.])
367                ])
368                AC_DEFINE([HAVE_LIBMD], ,[Define if you have the `md' library (-lmd).])
369                MD5_LIBS="-lmd"]
370        )
371        if test "x$MD5_LIBS" = "x" ; then
372                # If libmd is not found, check for libcrypto from OpenSSL
373                AC_CHECK_LIB([crypto], [MD5_Update],[
374                        AC_CHECK_HEADERS([openssl/md5.h],,[
375                                case $host_os in
376                                        darwin*)       
377                                        AC_MSG_NOTICE([Please install the BSD SDK package from the Xcode Developer Tools CD.])
378                                                ;;
379                                        *)     
380                                        AC_MSG_NOTICE([Please install the libmd developer headers for your platform.])
381                                                ;;
382                                esac
383                                AC_MSG_ERROR([libcrypt was found, but header file openssl/md5.h is missing.])
384                        ])
385                        AC_DEFINE([HAVE_LIBCRYPTO],,[Define if you have the `crypto' library (-lcrypto).])
386                        MD5_LIBS="-lcrypto"
387                ], [
388                        AC_MSG_ERROR([Neither OpenSSL or libmd were found. A working md5 implementation is required.])
389                ])
390        fi
391        if test "x$MD5_LIBS" = "x"; then
392                AC_MSG_ERROR([Neither OpenSSL or libmd were found. A working md5 implementation is required.])
393        fi
394        AC_SUBST([MD5_LIBS])
395])
396
397dnl This macro checks for X11 presence. If the libraries are
398dnl present, so must the headers be. If nothing is present,
399dnl print a warning
400
401# OD_CHECK_X11
402# ---------------------
403AC_DEFUN([OD_CHECK_X11], [
404
405        AC_PATH_XTRA
406
407        # Check for libX11
408        AC_CHECK_LIB([X11], [XOpenDisplay],[
409                has_x_runtime=yes
410                ], [ has_x_runtime=no ], [-L/usr/X11R6/lib $X_LIBS])
411
412#       echo "------done---------"
413#       echo "x_includes=${x_includes}"
414#       echo "x_libraries=${x_libraries}"
415#       echo "no_x=${no_x}"
416#       echo "X_CFLAGS=${X_CFLAGS}"
417#       echo "X_LIBS=${X_LIBS}"
418#       echo "X_DISPLAY_MISSING=${X_DISPLAY_MISSING}"
419#       echo "has_x_runtime=${has_x_runtime}"
420#       echo "host_os=${host_os}"
421#       echo "------done---------"
422
423        state=
424
425        case "__${has_x_runtime}__${no_x}__" in
426                "__no__yes__")
427                # either the user said --without-x, or it was not found
428                # at all (runtime or headers)
429                        AC_MSG_WARN([X11 not available. You will not be able to use dports that use X11])
430                        state=0
431                        ;;
432                "__yes__yes__")
433                        state=1
434                        ;;
435                "__yes____")
436                        state=2
437                        ;;
438                *)
439                        state=3
440                        ;;
441        esac
442
443        case $host_os in
444                darwin*)       
445                        case $state in
446                                1)
447                                        cat <<EOF;
448Please install the X11 SDK packages from the
449Xcode Developer Tools CD
450EOF
451                                        AC_MSG_ERROR([Broken X11 install. No X11 headers])
452
453                                        ;;
454                                3)
455                                        cat <<EOF;
456Unknown configuration problem. Please install the X11 runtime
457and/or X11 SDK  packages from the Xcode Developer Tools CD
458EOF
459                                        AC_MSG_ERROR([Broken X11 install])
460                                        ;;
461                        esac
462                        ;;
463                *)     
464                        case $state in
465                                1)
466                                        cat <<EOF;
467Please install the X11 developer headers for your platform
468EOF
469                                        AC_MSG_ERROR([Broken X11 install. No X11 headers])
470
471                                        ;;
472                                3)
473                                        cat <<EOF;
474Unknown configuration problem. Please install the X11
475implementation for your platform
476EOF
477                                        AC_MSG_ERROR([Broken X11 install])
478                                        ;;
479                        esac
480                        ;;
481        esac
482
483])
484
485# OD_PROG_MTREE
486#---------------------------------------
487AC_DEFUN([OD_PROG_MTREE],[
488
489        AC_PATH_PROG([MTREE], [mtree], ,  [/usr/bin:/usr/sbin:/bin:/sbin])
490
491        if test "x$MTREE" = "x" ; then
492                AC_CONFIG_SUBDIRS([src/programs/mtree])
493                MTREE='$(TOPSRCDIR)/src/programs/mtree/mtree'
494#               MTREE='${prefix}/bin/mtree'
495                REPLACEMENT_PROGS="$REPLACEMENT_PROGS mtree"
496        fi
497
498        AC_SUBST(MTREE)
499])
500
501# OD_PROG_DAEMONDO
502#---------------------------------------
503AC_DEFUN([OD_PROG_DAEMONDO],[
504        AC_REQUIRE([OD_CHECK_FRAMEWORK_COREFOUNDATION])
505        AC_REQUIRE([OD_CHECK_FRAMEWORK_SYSTEMCONFIGURATION])
506        AC_REQUIRE([OD_CHECK_FRAMEWORK_IOKIT])
507        AC_REQUIRE([OD_CHECK_FUNCTION_CFNOTIFICATIONCENTERGETDARWINNOTIFYCENTER])
508       
509    AC_MSG_CHECKING(for whether we will build daemondo)
510    result=no
511        case $host_os in
512        darwin*)
513                if test "x$od_cv_have_framework_corefoundation" == "xyes" &&
514                   test "x$od_cv_have_framework_systemconfiguration" == "xyes" &&
515                   test "x$od_cv_have_framework_iokit" == "xyes" &&
516                   test "x$od_cv_have_function_cfnotificationcentergetdarwinnotifycenter" == "xyes"; then
517                        result=yes
518                        EXTRA_PROGS="$EXTRA_PROGS daemondo"
519                        AC_CONFIG_FILES([src/programs/daemondo/Makefile])
520                fi
521                ;;
522        *)
523        esac
524        AC_MSG_RESULT(${result})
525])
526
527#------------------------------------------------------------------------
528# OD_TCL_PACKAGE_DIR --
529#
530#       Locate the correct directory for Tcl package installation
531#
532# Arguments:
533#       None.
534#
535# Requires:
536#       TCLVERSION must be set
537#       CYGPATH must be set
538#       TCLSH must be set
539#
540# Results:
541#
542#       Adds a --with-tclpackage switch to configure.
543#       Result is cached.
544#
545#       Substs the following vars:
546#               TCL_PACKAGE_DIR
547#------------------------------------------------------------------------
548
549AC_DEFUN(OD_TCL_PACKAGE_DIR, [
550    AC_MSG_CHECKING(for Tcl package directory)
551
552    AC_ARG_WITH(tclpackage, [  --with-tclpackage       Tcl package installation directory.], with_tclpackagedir=${withval})
553
554    if test x"${with_tclpackagedir}" != x ; then
555        ac_cv_c_tclpkgd=${with_tclpackagedir}
556    else
557        AC_CACHE_VAL(ac_cv_c_tclpkgd, [
558            # Use the value from --with-tclpackagedir, if it was given
559
560            if test x"${with_tclpackagedir}" != x ; then
561                ac_cv_c_tclpkgd=${with_tclpackagedir}
562            else
563                # On darwin we can do some intelligent guessing
564                case $host_os in
565                    darwin*)
566                        tcl_autopath=`echo 'puts -nonewline \$auto_path' | $TCLSH`
567                        for path in $tcl_autopath; do
568                            if test "$path" = "/Library/Tcl"; then
569                                ac_cv_c_tclpkgd="$path"
570                                break
571                            fi
572                            if test "$path" = "/System/Library/Tcl"; then
573                                if test -d "$path"; then
574                                    ac_cv_c_tclpkgd="$path"
575                                    break
576                                fi
577                            fi
578                        done
579                    ;;
580                esac
581                if test x"${ac_cv_c_tclpkgd}" = x ; then
582                    # Fudge a path from the first entry in the auto_path
583                    tcl_pkgpath=`echo 'puts -nonewline [[lindex \$auto_path 0]]' | $TCLSH`
584                    if test -d "$tcl_pkgpath"; then
585                        ac_cv_c_tclpkgd="$tcl_pkgpath"
586                    fi
587                    # If the first entry does not exist, do nothing
588                fi
589            fi
590        ])
591    fi
592
593    if test x"${ac_cv_c_tclpkgd}" = x ; then
594        AC_MSG_ERROR(Tcl package directory not found.  Please specify its location with --with-tclpackagedir)
595    else
596        AC_MSG_RESULT(${ac_cv_c_tclpkgd})
597    fi
598
599    # Convert to a native path and substitute into the output files.
600
601    PACKAGE_DIR_NATIVE=`${CYGPATH} ${ac_cv_c_tclpkgd}`
602
603    TCL_PACKAGE_DIR=${PACKAGE_DIR_NATIVE}
604
605    AC_SUBST(TCL_PACKAGE_DIR)
606])
607
608# OD_PROG_TCLSH
609#---------------------------------------
610AC_DEFUN([OD_PROG_TCLSH],[
611
612
613        case $host_os in
614                freebsd*)
615                        # FreeBSD installs a dummy tclsh (annoying)
616                        # Look for a real versioned tclsh first
617                        AC_PATH_PROG([TCLSH], [tclsh${TCL_VERSION} tclsh])
618                        ;;
619                *)
620                        # Otherwise, look for a non-versioned tclsh
621                        AC_PATH_PROG([TCLSH], [tclsh tclsh${TCL_VERSION}])
622                        ;;
623        esac
624        if test "x$TCLSH" = "x" ; then
625                AC_MSG_ERROR([Could not find tclsh])
626        fi
627
628        AC_SUBST(TCLSH)
629])
630
631# OD_TCL_PACKAGE
632#       Determine if a Tcl package is present.
633#
634# Arguments:
635#       Package name (may include the version)
636#
637# Syntax:
638#   OD_TCL_PACKAGE (package, [action-if-found], [action-if-not-found])
639#
640# Requires:
641#       TCLSH must be set
642#
643# Results:
644#       Execute action-if-found or action-if-not-found
645#---------------------------------------
646AC_DEFUN([OD_TCL_PACKAGE],[
647        AC_MSG_CHECKING([for Tcl $1 package])
648        package_present=`echo 'if {[[catch {package require $1}]]} {puts -nonewline 0} else {puts -nonewline 1}' | $TCLSH`
649        AS_IF([test "$package_present" = "1"], [$2], [$3])[]
650])
651
652# OD_TCL_THREAD_SUPPORT
653#       Determine if thread support is available in tclsh.
654#
655# Arguments:
656#       None.
657#
658# Requires:
659#       TCLSH must be set
660#
661# Results:
662#   Fails if thread support isn't available.
663#---------------------------------------
664AC_DEFUN([OD_TCL_THREAD_SUPPORT],[
665        AC_MSG_CHECKING([whether tclsh was compiled with threads])
666        tcl_threadenabled=`echo 'puts -nonewline [[info exists tcl_platform(threaded)]]' | $TCLSH`
667        if test "$tcl_threadenabled" = "1" ; then
668                AC_MSG_RESULT([yes])
669        else
670                AC_MSG_RESULT([no])
671                AC_MSG_ERROR([tcl wasn't compiled with threads enabled])
672        fi
673])
674
675# OD_LIBCURL_FLAGS
676#       Sets the flags to compile with libcurl.
677#
678# Arguments:
679#       None.
680#
681# Requires:
682#   curl-config or user parameters to define the flags.
683#
684# Results:
685#   defines some help strings.
686#   sets CFLAGS_LIBCURL and LDFLAGS_LIBCURL
687#---------------------------------------
688AC_DEFUN([OD_LIBCURL_FLAGS],[
689        AC_ARG_WITH(curlprefix,
690                   [  --with-curlprefix       base directory for the cURL install '/usr', '/usr/local',...],
691                   [  curlprefix=$withval ])
692
693        if test "x$curlprefix" = "x"; then
694                AC_PATH_PROG([CURL_CONFIG], [curl-config])
695        else
696                AC_PATH_PROG([CURL_CONFIG], [curl-config], , [$curlprefix/bin])
697        fi
698
699        if test "x$CURL_CONFIG" = "x"; then
700                AC_MSG_ERROR([cannot find curl-config. Is libcurl installed?])
701        fi
702
703        CFLAGS_LIBCURL=$($CURL_CONFIG --cflags)
704        # Due to a bug in dist, --arch flags are improperly supplied by curl-config.
705        # Get rid of them.
706        LDFLAGS_LIBCURL=$($CURL_CONFIG --libs | [sed -E 's/-arch +[^ ]* ?//g'])
707
708        AC_SUBST(CFLAGS_LIBCURL)
709        AC_SUBST(LDFLAGS_LIBCURL)
710])
711
712# OD_LIBCURL_VERSION
713#       Determine the version of libcurl.
714#
715# Arguments:
716#       None.
717#
718# Requires:
719#       CURL must be set (AC_PATH_PROG(CURL, [curl], []))
720#
721# Results:
722#   sets libcurl_version to "0" or some number
723#---------------------------------------
724AC_DEFUN([OD_LIBCURL_VERSION],[
725        if test "x$CURL" = "x"; then
726                libcurl_version="0"
727        else
728                AC_MSG_CHECKING([libcurl version])
729                libcurl_version=`$CURL -V | sed '2,$d' | awk '{print $ 2}' | sed -e 's/\.//g' -e 's/-.*//g'`
730                AC_MSG_RESULT([$libcurl_version])
731        fi
732])
733
734dnl This macro tests if the compiler supports GCC's
735dnl __attribute__ syntax for unused variables/parameters
736AC_DEFUN([OD_COMPILER_ATTRIBUTE_UNUSED], [
737        AC_MSG_CHECKING([how to mark unused variables])
738        AC_COMPILE_IFELSE(
739                [AC_LANG_SOURCE([[int a __attribute__ ((unused));]])],
740                [AC_DEFINE(UNUSED, [__attribute__((unused))], [Attribute to mark unused variables])],
741                [AC_DEFINE(UNUSED, [])])
742
743        AC_MSG_RESULT([])
744       
745])
746
747dnl This macro ensures DP installation prefix bin/sbin paths are NOT in PATH
748dnl for configure to prevent potential problems when base/ code is updated
749dnl and ports are installed that would match needed items.
750AC_DEFUN([OD_PATH_SCAN],[
751        oldprefix=$prefix
752        if test "x$prefix" = "xNONE" ; then
753                prefix=$ac_default_prefix
754        fi
755        oldPATH=$PATH
756        newPATH=
757        as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
758        for as_dir in $oldPATH
759        do
760                IFS=$as_save_IFS
761                if test "x$as_dir" != "x$prefix/bin" &&
762                        test "x$as_dir" != "x$prefix/sbin"; then
763                        if test -z "$newPATH"; then
764                                newPATH=$as_dir
765                        else
766                                newPATH=$newPATH$PATH_SEPARATOR$as_dir
767                        fi
768                fi
769        done
770        PATH=$newPATH; export PATH
771        prefix=$oldprefix
772])
773
774dnl This macro tests for tar support of --no-same-owner
775AC_DEFUN([OD_TAR_NO_SAME_OWNER],[
776        AC_PATH_PROG(TAR, [tar])
777        AC_PATH_PROG(GNUTAR, [gnutar])
778       
779        AC_MSG_CHECKING([for which tar variant to use])
780        AS_IF([test -n "$GNUTAR"], [TAR_CMD=$GNUTAR], [TAR_CMD=$TAR])
781        AC_MSG_RESULT([$TAR_CMD])
782        AC_SUBST(TAR_CMD)
783
784        AC_MSG_CHECKING([for $TAR_CMD --no-same-owner support])
785        [no_same_owner_support=`$TAR_CMD --help 2>&1 | grep no-same-owner`]
786        if test -z "$no_same_owner_support" ; then
787                AC_MSG_RESULT([no])
788        else
789                AC_MSG_RESULT([yes])
790                TAR_CMD="$TAR_CMD --no-same-owner"
791        fi
792])
793
Note: See TracBrowser for help on using the repository browser.