]> granicus.if.org Git - postgis/commitdiff
Keep floats out of registers for spheroid calculation. Fixes odd bug in OS/X gcc...
authorPaul Ramsey <pramsey@cleverelephant.ca>
Fri, 29 Jan 2010 21:24:24 +0000 (21:24 +0000)
committerPaul Ramsey <pramsey@cleverelephant.ca>
Fri, 29 Jan 2010 21:24:24 +0000 (21:24 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@5180 b70326c6-7e19-0410-871a-916f4a2858ee

configure.ac
liblwgeom/Makefile.in

index cc8153973c9521ea9fc94e65af47bbecbeb28469..53c91189b148a23faedaf9bc58a167eeff8bde93 100644 (file)
@@ -40,6 +40,13 @@ AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -Wall], [_cv_wall], [-Wall], [
 AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -Wmissing-prototypes], [_cv_misprot], [-Wmissing-prototypes], [], [WARNFLAGS="$WARNFLAGS -Wmissing-prototypes"], []) 
 AC_SUBST([WARNFLAGS])
 
+dnl
+dnl For some GCC versions and platforms, floating point issues need to be
+dnl ironed out. 
+NUMERICFLAGS=""
+AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -ffloat-store], [dummy_cv_ffloat_store], [-ffloat-store], [], [NUMERICFLAGS="$NUMERICFLAGS -ffloat-store"], [])
+AC_SUBST([NUMERICFLAGS])
+
 dnl
 dnl Define executable suffix for use with the loader Makefiles
 dnl
index dc6bb771e6a1ab0ea67f6722fa976e2ba86d71cd..7a1807b3019379f3d965461fd8d61d378cf009c8 100644 (file)
@@ -12,6 +12,7 @@
 
 CC=@CC@
 CFLAGS=@CFLAGS@ @PICFLAGS@ @WARNFLAGS@ 
+NUMERICFLAGS=@NUMERICFLAGS@
 
 YACC=@YACC@
 LEX=@LEX@
@@ -50,20 +51,23 @@ SA_OBJS = \
        g_serialized.o \
        g_util.o \
        lwgeodetic.o \
-       lwspheroid.o \
        lwtree.o
 
+NM_OBJS = \
+       lwspheroid.o 
+
 SA_HEADERS = \
        liblwgeom.h \
        lwalgorithm.h
 
 all: liblwgeom.a
 
-liblwgeom.a: $(SA_OBJS) $(SA_HEADERS) 
-       ar rs liblwgeom.a $(SA_OBJS)    
+liblwgeom.a: $(SA_OBJS) $(NM_OBJS) $(SA_HEADERS) 
+       ar rs liblwgeom.a $(SA_OBJS) $(NM_OBJS)         
 
 clean:
        rm -f $(SA_OBJS) 
+       rm -f $(NM_OBJS) 
        rm -f liblwgeom.a 
 
 check: liblwgeom.a
@@ -73,6 +77,11 @@ check: liblwgeom.a
 $(SA_OBJS): %.o: %.c 
        $(CC) $(CFLAGS) -c -o $@ $<
 
+# Command to build each of the .o files
+$(NM_OBJS): %.o: %.c 
+       $(CC) $(CFLAGS) $(NUMERICFLAGS) -c -o $@ $<
+
+
 # Commands to generate the lexer and parser from input files
 wktparse.tab.c: wktparse.y
        $(YACC) -vd -p lwg_parse_yy wktparse.y