Ignore:
Timestamp:
Aug 21, 2008 8:59:58 PM (16 years ago)
Author:
bennylp
Message:

More ticket #583: autoconf support for Intel IPP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/aconfigure.ac

    r2190 r2232  
    1 AC_INIT(pjproject,0.8) 
     1AC_INIT(pjproject,1.0) 
    22 
    33host_orig="$host" 
     
    3939 
    4040AC_SUBST(ac_pjdir) 
     41AC_SUBST(ac_build_mak_vars) 
    4142case $target in  
    4243    *mingw* | *cygw* | *win32* | *w32* ) 
     
    545546 
    546547 
     548dnl ######################################################## 
     549dnl # Intel IPP support 
     550dnl # 
     551AC_ARG_ENABLE(ipp, 
     552    AC_HELP_STRING([--enable-ipp], 
     553                   [Enable Intel IPP support. Specify the Intel IPP package and samples location using IPPROOT and IPPSAMPLES env var or with --with-ipp and --with-ipp-samples options]), 
     554    [], 
     555    [enable_ipp=no] 
     556    ) 
     557 
     558AC_ARG_ENABLE(ipp, 
     559    AC_HELP_STRING([--with-ipp=DIR], 
     560                   [Specify the Intel IPP location]), 
     561    [], 
     562    [with_ipp=no] 
     563    ) 
     564 
     565AC_ARG_ENABLE(ipp-samples, 
     566    AC_HELP_STRING([--with-ipp-samples=DIR], 
     567                   [Specify the Intel IPP samples location]), 
     568    [], 
     569    [with_ipp_samples=no] 
     570    ) 
     571 
     572if test "x$enable_ipp" != "xno"; then 
     573    dnl #  
     574    dnl # Verifying Intel IPP path 
     575    dnl # 
     576    AC_MSG_CHECKING([Intel IPP location]) 
     577 
     578    if test "x$with_ipp" != "xno" -a "x$with_ipp" != "x"; then 
     579        AC_MSG_RESULT([$with_ipp]) 
     580        IPPROOT=$with_ipp 
     581    elif test "x$IPPROOT" = "x"; then 
     582        if test -d /opt/intel/ipp; then 
     583            IPPROOT=`ls -d /opt/intel/ipp/*/* | head -1` 
     584            AC_MSG_RESULT([autodetected in $IPPROOT]) 
     585        fi 
     586    else 
     587        AC_MSG_RESULT([$IPPROOT]) 
     588    fi 
     589 
     590    if test x$IPPROOT = x; then 
     591        AC_MSG_ERROR([the location is neither specified nor can be guessed. Please specify with IPPROOT env var or with --with-ipp option]) 
     592    elif test ! -d $IPPROOT; then 
     593        AC_MSG_ERROR([not found]) 
     594    elif test ! -d $IPPROOT/include; then 
     595        AC_MSG_ERROR([directory doesn't seem to be valid]) 
     596    else 
     597        # IPP directory looks okay. 
     598        # Remove trailing backslash 
     599        IPPROOT=`echo $IPPROOT/ | sed 's/\/$//'` 
     600 
     601        SAVED_CFLAGS="$CFLAGS" 
     602        SAVED_LDFLAGS="$LDFLAGS" 
     603        SAVED_LIBS="$LIBS" 
     604 
     605        IPP_CFLAGS="-I$IPPROOT/include" 
     606        IPP_LDFLAGS="-L$IPPROOT/sharedlib" 
     607        IPP_LIBS="-lippsc -lipps -lippsr -lippcore -lguide" 
     608        #IPP_LDFLAGS="-L$IPPROOT/sharedlib" 
     609        #IPP_LIBS="-lippscmerged -lippsrmerged -lippsmerged -lippcore" 
     610 
     611        CFLAGS="$CFLAGS $IPP_CFLAGS" 
     612        LDFLAGS="$LDFLAGS $IPP_LDFLAGS" 
     613        LIBS="$IPP_LIBS $LIBS" 
     614 
     615 
     616        AC_MSG_CHECKING([Intel IPP usability]) 
     617        AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <ippcore.h> 
     618                                           ]], 
     619                                           [ippStaticInit();])], 
     620                  [AC_MSG_RESULT(ok)], 
     621                  [AC_MSG_FAILURE(failed)]) 
     622 
     623        CFLAGS="$SAVED_CFLAGS" 
     624        LDFLAGS="$SAVED_LDFLAGS" 
     625        LIBS="$SAVED_LIBS" 
     626    fi 
     627 
     628    dnl #  
     629    dnl # Verifying Intel IPP samples path 
     630    dnl # 
     631    AC_MSG_CHECKING([Intel IPP samples location]) 
     632 
     633    if test "x$with_ipp_samples" != "xno" -a "x$with_ipp_samples" != "x"; then 
     634        AC_MSG_RESULT([$with_ipp_samples]) 
     635        IPPSAMPLES=$with_ipp_samples 
     636    elif test "x$IPPSAMPLES" = "x"; then 
     637        if test -d /opt/intel/ipp-samples; then 
     638            IPPSAMPLES=/opt/intel/ipp-samples 
     639            AC_MSG_RESULT([autodetected in $IPPSAMPLES]) 
     640        fi 
     641    else 
     642        AC_MSG_RESULT([$IPPSAMPLES]) 
     643    fi 
     644 
     645    if test x$IPPSAMPLES = x; then 
     646        AC_MSG_ERROR([the location is neither specified nor can be guessed. Please specify with IPPSAMPLES env var or with --with-ipp-samples option]) 
     647    elif test ! -d $IPPSAMPLES; then 
     648        AC_MSG_ERROR([not found]) 
     649    elif test ! -d $IPPSAMPLES/speech-codecs; then 
     650        AC_MSG_ERROR([directory doesn't seem to be valid]) 
     651    else 
     652        # Remove trailing backslash 
     653        IPPSAMPLES=`echo $IPPSAMPLES | sed 's/\/$//'` 
     654 
     655        # Guess the libusc.a build location 
     656        AC_MSG_CHECKING([Intel IPP USC build location]) 
     657        IPPSAMPLESLIB=`ls -d $IPPSAMPLES/speech-codecs/bin/*gcc*/lib | head -1` 
     658        if test ! -d $IPPSAMPLESLIB; then 
     659            AC_MSG_FAILURE([the $IPPSAMPLES/speech-codecs/bin/*gcc*/lib directory not found. Have you built the samples?]) 
     660        fi 
     661        if test ! -f $IPPSAMPLESLIB/libusc.a; then 
     662            AC_MSG_FAILURE([libusc.a doesn't exist in $IPPSAMPLESLIB]) 
     663        fi 
     664        AC_MSG_RESULT([$IPPSAMPLESLIB]) 
     665 
     666        SAVED_CFLAGS="$CFLAGS" 
     667        SAVED_LDFLAGS="$LDFLAGS" 
     668        SAVED_LIBS="$LIBS" 
     669 
     670        IPPSAMPLESINC="-I$IPPSAMPLES/speech-codecs/core/usc/include" 
     671        CFLAGS="$CFLAGS $IPPSAMPLESINC" 
     672        LDFLAGS="$LDFLAGS -L$IPPSAMPLESLIB" 
     673        LIBS="-lusc $LIBS" 
     674 
     675        AC_MSG_CHECKING([Intel IPP USC usability]) 
     676        AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <usc.h> 
     677                                           ]], 
     678                                           [extern USC_Fxns USC_G729AFP_Fxns;])], 
     679                  [AC_MSG_RESULT(ok)], 
     680                  [AC_MSG_FAILURE(failed)]) 
     681 
     682        CFLAGS="$SAVED_CFLAGS" 
     683        LDFLAGS="\$(IPP_LDFLAGS) $SAVED_LDFLAGS" 
     684        LIBS="\$(IPP_LIBS) $SAVED_LIBS" 
     685 
     686        IPP_CFLAGS="$IPP_CFLAGS $IPPSAMPLESINC" 
     687        IPP_LDFLAGS="$IPP_LDFLAGS -L$IPPSAMPLESLIB" 
     688        IPP_LIBS="-lusc $IPP_LIBS" 
     689    fi 
     690 
     691    ac_build_mak_vars="$ac_build_mak_vars\n\ 
     692export IPP_CFLAGS=$IPP_CFLAGS\n\ 
     693export IPP_LDFLAGS=$IPP_LDFLAGS\n\ 
     694export IPP_LIBS=$IPP_LIBS" 
     695else 
     696    AC_MSG_RESULT([Skipping Intel IPP settings (not wanted)]) 
     697fi 
     698 
     699 
    547700dnl ########################################## 
    548701dnl # 
     
    666819esac 
    667820AC_SUBST(CC) 
     821 
     822ac_build_mak_vars=`echo $ac_build_mak_vars | sed 's/\\\\n/\n/g'` 
    668823AC_OUTPUT() 
    669824 
Note: See TracChangeset for help on using the changeset viewer.