freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] building freetype 2.3.11 on Mac OS X 10.6


From: mpsuzuki
Subject: Re: [ft-devel] building freetype 2.3.11 on Mac OS X 10.6
Date: Wed, 18 Nov 2009 19:00:39 +0900

Hi,

Sorry for my lated homework. Attached is a proposal of
patch for Mac OS X 10.6. The patch itself is not easy
to read. The patched script would be like following.
It scans all token in CFLAGS, lookup -isysroot, -arch,
-m32 and -m64. If they are not included in LDFLAGS
(for -isysroot and -arch, arguments are also checked),
they are copied to LDFLAGS.

    # Some options handling SDKs/archs in CFLAGS should be copied
    # to LDFLAGS. Apple TechNote 2137 recommends to include these
    # options in CFLAGS but not in LDFLAGS.

    set dummy ${CFLAGS}
    i=1
    while test $i -lt $#
    do
      c=$1
    
      case "${c}" in
      -isysroot|-arch) # options taking 1 argument
        a=$2
        AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c} ${a}])
        if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
        then
          AC_MSG_RESULT([yes])
        else
          AC_MSG_RESULT([no, copy to LDFLAGS])
          LDFLAGS="${LDFLAGS} ${c} ${a}"
        fi
        shift 1 
        ;;
      -m32|-m64) # options taking no argument
        AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}])
        if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
        then
          AC_MSG_RESULT([yes])
        else
          AC_MSG_RESULT([no, copy to LDFLAGS])
          LDFLAGS="${LDFLAGS} ${c}"
        fi
        ;;
      # *)
      #   AC_MSG_RESULT([${c} is not copied to LDFLAGS])
      #   ;;  
      esac
    
      shift 1 
    done

At present, I didn't restrict this hook to specific
system. If it's better to restrict this hook to Mac OS X,
please let me know. I'm not sure if there is special
requirement to use different "-arch XXX" or "-m32/-m64"
options between CFLAGS & LDFLAGS.

Sean, could you review the patch? Yet I don't have access
to Mac OS X 10.6 machines, so I cannot check if this patch
solves the problem you reported.

Regards,
mpsuzuki


diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index 8a99988..4ecd619 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -230,30 +230,48 @@ if test x$with_zlib != xno && test -n "$LIBZ"; then
 fi
 
 
-# check Apple's `-isysroot' option and duplicate it to LDFLAGS if required --
-# Apple TechNote 2137 recommends to include it in CFLAGS but not in LDFLAGS
-
-AC_MSG_CHECKING([whether CFLAGS includes -isysroot option])
-case "$CFLAGS" in
-*sysroot* )
-  AC_MSG_RESULT([yes])
-  AC_MSG_CHECKING([whether LDFLAGS includes -isysroot option])
-  case "$LDFLAGS" in
-  *sysroot* )
-    AC_MSG_RESULT([yes])
+# Some options handling SDKs/archs in CFLAGS should be copied
+# to LDFLAGS. Apple TechNote 2137 recommends to include these
+# options in CFLAGS but not in LDFLAGS.
+
+save_config_args=$*
+set dummy ${CFLAGS}
+i=1
+while test $i -lt $#
+do
+  c=$1
+
+  case "${c}" in
+  -isysroot|-arch) # options taking 1 argument
+    a=$2
+    AC_MSG_CHECKING([whether CFLAGS and LDFLAGS share ${c} ${a}])
+    if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
+    then
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no, copy to LDFLAGS])
+      LDFLAGS="${LDFLAGS} ${c} ${a}"
+    fi
+    shift 1
     ;;
-  *)
-    AC_MSG_RESULT([no])
-    isysroot_dir=`echo ${CFLAGS} | tr '\t' ' ' | sed 's/^.*-isysroot *//;s/ 
.*//'`
-    AC_MSG_WARN(-isysroot ${isysroot_dir} is added to LDFLAGS)
-    LDFLAGS="-isysroot ${isysroot_dir} ${LDFLAGS}"
+  -m32|-m64) # options taking no argument
+    AC_MSG_RESULT([whether CFLAGS and LDFLAGS share ${c}])
+    if expr " ${LDFLAGS} " : ".* ${c} *${a}.*" > /dev/null
+    then
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no, copy to LDFLAGS])
+      LDFLAGS="${LDFLAGS} ${c}"
+    fi
     ;;
+  # *)
+  #   AC_MSG_RESULT([${c} is not copied to LDFLAGS])
+  #   ;;
   esac
-  ;;
-*)
-  AC_MSG_RESULT([no])
-  ;;
-esac
+
+  shift 1
+done
+set ${save_config_args}
 
 
 # Whether to use Mac OS resource-based fonts.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]