26 # C99MODE of neither enabled nor disabled is "no_lib", whereby we expect 27 # C99-the-language, but don't modify the behaviour of library routines. This 28 # is VERY IMPORTANT, as -xc99=%all, for instance, would link us with 29 # values-xpg6, which would introduce an __xpg6 to our object with the C99 30 # flags set, causing us to default C99 libm behaviour on, breaking 31 # compatibility. 32 C99MODE = 33 34 M4FLAGS = -D__STDC__ -DELFOBJ -DPIC 35 36 LDBLDIR_sparc = Q 37 LDBLDIR_i386 = LD 38 LDBLDIR = $(LDBLDIR_$(MACH)) 39 40 LM_IL = $(LIBMDIR)/$(TARGET_ARCH)/src/locallibm.il 41 42 CFLAGS += $(C_PICFLAGS) -D__INLINE $(XSTRCONST) $(LM_IL) 43 CFLAGS64 += $(C_PICFLAGS) -D__INLINE $(XSTRCONST) $(LM_IL) 44 sparc_CFLAGS += -Wa,-xarch=v8plus 45 46 CDEF_i386 = -DCOMPARISON_MACRO_BUG 47 CPPFLAGS += -DELFOBJ \ 48 -DLIBM_MT_FEX_SYNC \ 49 $(CDEF_$(TARGET_ARCH)) \ 50 -I$(LIBMSRC)/C \ 51 -I$(LIBMSRC)/$(LDBLDIR) -I$(LIBMDIR)/$(TARGET_ARCH)/src 52 53 # GCC needs __C99FEATURES__ such that the implementations of isunordered, 54 # isgreaterequal, islessequal, etc, exist. This is basically equivalent to 55 # providing no -xc99 to Studio, in that it gets us the C99 language features, 56 # but not values-xpg6, the reason for which is outline with C99MODE. 57 CFLAGS += -_gcc=-D__C99FEATURES__ 58 CFLAGS64 += -_gcc=-D__C99FEATURES__ 59 60 # libm depends on integer overflow characteristics 61 CFLAGS += -_gcc=-fno-strict-overflow 62 CFLAGS64 += -_gcc=-fno-strict-overflow 63 64 $(DYNLIB) := LDLIBS += -lc 65 66 $(LINTLIB) := SRCS = $(LIBMSRC)/$(LINTSRC) 67 68 CLEANFILES += pics/*.s pics/*.S 69 | 26 # C99MODE of neither enabled nor disabled is "no_lib", whereby we expect 27 # C99-the-language, but don't modify the behaviour of library routines. This 28 # is VERY IMPORTANT, as -xc99=%all, for instance, would link us with 29 # values-xpg6, which would introduce an __xpg6 to our object with the C99 30 # flags set, causing us to default C99 libm behaviour on, breaking 31 # compatibility. 32 C99MODE = 33 34 M4FLAGS = -D__STDC__ -DELFOBJ -DPIC 35 36 LDBLDIR_sparc = Q 37 LDBLDIR_i386 = LD 38 LDBLDIR = $(LDBLDIR_$(MACH)) 39 40 LM_IL = $(LIBMDIR)/$(TARGET_ARCH)/src/locallibm.il 41 42 CFLAGS += $(C_PICFLAGS) -D__INLINE $(XSTRCONST) $(LM_IL) 43 CFLAGS64 += $(C_PICFLAGS) -D__INLINE $(XSTRCONST) $(LM_IL) 44 sparc_CFLAGS += -Wa,-xarch=v8plus 45 46 CPPFLAGS += -DELFOBJ \ 47 -DLIBM_MT_FEX_SYNC \ 48 -I$(LIBMSRC)/C \ 49 -I$(LIBMSRC)/$(LDBLDIR) -I$(LIBMDIR)/$(TARGET_ARCH)/src 50 51 # GCC needs __C99FEATURES__ such that the implementations of isunordered, 52 # isgreaterequal, islessequal, etc, exist. This is basically equivalent to 53 # providing no -xc99 to Studio, in that it gets us the C99 language features, 54 # but not values-xpg6, the reason for which is outline with C99MODE. 55 CFLAGS += -_gcc=-D__C99FEATURES__ 56 CFLAGS64 += -_gcc=-D__C99FEATURES__ 57 58 # libm depends on integer overflow characteristics 59 CFLAGS += -_gcc=-fno-strict-overflow 60 CFLAGS64 += -_gcc=-fno-strict-overflow 61 62 $(DYNLIB) := LDLIBS += -lc 63 64 $(LINTLIB) := SRCS = $(LIBMSRC)/$(LINTSRC) 65 66 CLEANFILES += pics/*.s pics/*.S 67 |