diff --git a/Makefile b/Makefile index fc7d85f11..6d3f15651 100644 --- a/Makefile +++ b/Makefile @@ -97,6 +97,11 @@ LD = $(CC) # Those flags only feed CFLAGS so it is not mandatory to use this form. DEBUG_CFLAGS = -g +#### Compiler-specific flags that may be used to disable some negative over- +# optimization or to silence some warnings. -fno-strict-aliasing is needed with +# gcc >= 4.4. +SPEC_CFLAGS = -fno-strict-aliasing + #### Memory usage tuning # If small memory footprint is required, you can reduce the buffer size. There # are 2 buffers per concurrent session, so 16 kB buffers will eat 32 MB memory @@ -154,7 +159,7 @@ ARCH_FLAGS = $(ARCH_FLAGS.$(ARCH)) # These CFLAGS contain general optimization options, CPU-specific optimizations # and debug flags. They may be overridden by some distributions which prefer to # set all of them at once instead of playing with the CPU and DEBUG variables. -CFLAGS = $(ARCH_FLAGS) $(CPU_CFLAGS) $(DEBUG_CFLAGS) +CFLAGS = $(ARCH_FLAGS) $(CPU_CFLAGS) $(DEBUG_CFLAGS) $(SPEC_CFLAGS) #### Common LDFLAGS # These LDFLAGS are used as the first "ld" options, regardless of any library diff --git a/Makefile.bsd b/Makefile.bsd index 502783043..1ce871b72 100644 --- a/Makefile.bsd +++ b/Makefile.bsd @@ -86,6 +86,7 @@ DLMALLOC_THRES=4096 TARGET_OPTS=$(COPTS.$(TARGET)) REGEX_OPTS=$(COPTS.$(REGEX)) CPU_OPTS=$(COPTS.$(CPU)) +SPEC_OPTS=-fno-strict-aliasing VERSION != cat VERSION 2>/dev/null || touch VERSION SUBVERS != cat SUBVERS 2>/dev/null || touch SUBVERS @@ -98,7 +99,7 @@ VER_OPTS := -DCONFIG_HAPROXY_VERSION=\"$(VERSION)$(SUBVERS)\" \ EBTREE_DIR := ebtree COPTS = -Iinclude -I$(EBTREE_DIR) $(ADDINC) $(CPU_OPTS) $(TARGET_OPTS) \ - $(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE) + $(SPEC_OPTS) $(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE) LIBS = $(LIBS.$(TARGET)) $(LIBS.$(REGEX)) $(ADDLIB) CFLAGS = -Wall $(COPTS) $(DEBUG) LDFLAGS = -g diff --git a/Makefile.osx b/Makefile.osx index ab15e1076..f60508e99 100644 --- a/Makefile.osx +++ b/Makefile.osx @@ -86,6 +86,7 @@ DLMALLOC_THRES=4096 TARGET_OPTS=$(COPTS.$(TARGET)) REGEX_OPTS=$(COPTS.$(REGEX)) CPU_OPTS=$(COPTS.$(CPU)) +SPEC_OPTS=-fno-strict-aliasing VERSION != cat VERSION 2>/dev/null || touch VERSION SUBVERS != cat SUBVERS 2>/dev/null || touch SUBVERS @@ -95,7 +96,7 @@ VER_OPTS := -DCONFIG_HAPROXY_VERSION=\"$(VERSION)$(SUBVERS)\" \ -DCONFIG_HAPROXY_DATE=\"$(VERDATE)\" COPTS = -Iinclude -I$(EBTREE_DIR) $(ADDINC) $(CPU_OPTS) $(TARGET_OPTS) \ - $(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE) + $(SPEC_OPTS) $(REGEX_OPTS) $(SMALL_OPTS) $(VER_OPTS) $(DEFINE) LIBS = $(LIBS.$(TARGET)) $(LIBS.$(REGEX)) $(ADDLIB) CFLAGS = -Wall $(COPTS) $(DEBUG) -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -mmacosx-version-min=10.4 LDFLAGS = -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -mmacosx-version-min=10.4