Have configure take arguments telling it where gmp is; fixes trac #957
[ghc-hetmet.git] / rts / Makefile
index 2b05eff..6bf4271 100644 (file)
@@ -96,7 +96,7 @@ WARNING_OPTS += -Wmissing-declarations
 WARNING_OPTS += -Winline
 WARNING_OPTS += -Waggregate-return
 #WARNING_OPTS += -Wpointer-arith
-WARNING_OPTS += -Wbad-function-cast
+#WARNING_OPTS += -Wbad-function-cast
 #WARNING_OPTS += -Wcast-align
 #WARNING_OPTS += -Wnested-externs
 #WARNING_OPTS += -Wshadow
@@ -144,6 +144,10 @@ ifeq "$(HaveLibMingwEx)" "YES"
 PACKAGE_CPP_OPTS += -DHAVE_LIBMINGWEX
 endif
 
+ifeq "$(GhciWithDebugger)" "YES"
+STANDARD_OPTS += -DDEBUGGER
+endif
+
 ifeq "$(DotnetSupport)" "YES"
 
 # 
@@ -179,6 +183,14 @@ EXCLUDED_SRCS              += $(wildcard Vis*.c)
 endif
 
 #-----------------------------------------------------------------------------
+# Add PAPI library if needed
+
+ifeq "$(GhcRtsWithPapi)" "YES"
+SRC_HC_OPTS            += -optc-DUSE_PAPI
+PACKAGE_CPP_OPTS       += -DUSE_PAPI
+endif
+
+#-----------------------------------------------------------------------------
 # make depend setup
 
 SRC_MKDEPENDC_OPTS += -I. -I../includes
@@ -280,6 +292,24 @@ endif
 
 CLEAN_FILES += gmp/libgmp.a
 
+# Need to get the GMP vars in through CPP to package.conf.in, and put
+# quotes around each element.
+
+empty =
+space = $(empty) $(empty)
+comma = ,
+PACKAGE_CPP_OPTS += -DGMP_INCLUDE_DIRS='$(subst $(space),$(comma),$(patsubst %,"%",$(strip $(GMP_INCLUDE_DIRS))))'
+PACKAGE_CPP_OPTS += -DGMP_LIB_DIRS='$(subst $(space),$(comma),$(patsubst %,"%",$(strip $(GMP_LIB_DIRS))))'
+
+ifneq "$(GMP_INCLUDE_DIRS)" ""
+SRC_HC_OPTS += -I$(GMP_INCLUDE_DIRS)
+SRC_CC_OPTS += -I$(GMP_INCLUDE_DIRS)
+SRC_HSC2HS_OPTS += -I$(GMP_INCLUDE_DIRS)
+endif
+ifneq "$(GMP_LIB_DIRS)" ""
+SRC_LD_OPTS += -L$(GMP_LIB_DIRS)
+endif
+
 #-----------------------------------------------------------------------------
 #
 # Building the GUM SysMan