s/Invisible/Inferred/g s/Visible/Required/g
[ghc.git] / rts / package.conf.in
index 3751513..d2b728e 100644 (file)
@@ -3,12 +3,13 @@
 #include "ghcconfig.h"
 #include "rts/Config.h"
 
-name:          rts
-version:       1.0
-id:             builtin_rts
-license:       BSD3
-maintainer:    glasgow-haskell-users@haskell.org
-exposed:       True
+name:           rts
+version:        1.0
+id:             rts
+key:            rts
+license:        BSD3
+maintainer:     glasgow-haskell-users@haskell.org
+exposed:        True
 
 exposed-modules:
 hidden-modules:
@@ -16,133 +17,153 @@ hidden-modules:
 import-dirs:
 
 #ifdef INSTALLING
-library-dirs:          LIB_DIR"/rts-1.0" PAPI_LIB_DIR
+library-dirs:           LIB_DIR"/rts" FFI_LIB_DIR
 #else /* !INSTALLING */
-library-dirs:          TOP"/rts/dist/build" PAPI_LIB_DIR
+library-dirs:           TOP"/rts/dist/build" FFI_LIB_DIR
 #endif
 
-hs-libraries:   "HSrts"
+hs-libraries:   "HSrts" FFI_LIB
 
 extra-libraries:
 #ifdef HAVE_LIBM
-                               "m"             /* for ldexp() */
+                                "m"             /* for ldexp() */
 #endif
 #ifdef HAVE_LIBRT
-                             , "rt"
+                              , "rt"
 #endif
 #ifdef HAVE_LIBDL
-                             , "dl"
+                              , "dl"
 #endif
 #ifdef HAVE_LIBFFI
                               , "ffi"
 #endif
+#ifdef HAVE_LIBNUMA
+                              , "numa"
+#endif
 #ifdef mingw32_HOST_OS
-                             ,"wsock32"    /* for the linker */
-                             ,"gdi32"      /* for the linker */
-                             ,"winmm"      /* for the linker */
+                              ,"wsock32"    /* for the linker */
+                              ,"gdi32"      /* for the linker */
+                              ,"winmm"      /* for the linker */
+#endif
+#ifdef freebsd_HOST_OS
+                              , "pthread" /* for pthread_getthreadid_np() */
+#endif
+#ifdef openbsd_HOST_OS
+/* OpenBSD's libffi is not directly linked to the libpthread but still requires
+pthread functionality. This means that any client binary which links with libffi
+also need to link with libpthread. If it does not, then linking fails with
+unresolved symbols. */
+                              , "pthread"
+
 #endif
 #if defined(DEBUG) && defined(HAVE_LIBBFD)
-                             ,"bfd", "iberty"  /* for debugging */
+                              ,"bfd", "iberty"  /* for debugging */
 #endif
 #ifdef HAVE_LIBMINGWEX
 # ifndef INSTALLING                             /* Bundled Mingw is behind */
                               ,"mingwex"
 # endif
 #endif
-#if USE_PAPI
-                            , "papi"
+#if USE_LIBDW
+                             , "elf"
+                             , "dw"             /* for backtraces */
 #endif
 
 #ifdef INSTALLING
-include-dirs:          INCLUDE_DIR PAPI_INCLUDE_DIR
+include-dirs:           INCLUDE_DIR FFI_INCLUDE_DIR
 #else /* !INSTALLING */
-include-dirs:           TOP"/rts/dist/build" TOP"/includes" TOP"/includes/dist-derivedconstants/header"
+include-dirs:           TOP"/rts/dist/build" TOP"/includes" TOP"/includes/dist-derivedconstants/header" FFI_INCLUDE_DIR
 #endif
 
-includes:              Stg.h
+includes:               Stg.h
 hugs-options:
 cc-options:
 
 ld-options:
 #ifdef LEADING_UNDERSCORE
-           "-u", "_ghczmprim_GHCziTypes_Izh_static_info"
-         , "-u", "_ghczmprim_GHCziTypes_Czh_static_info"
-         , "-u", "_ghczmprim_GHCziTypes_Fzh_static_info"
-         , "-u", "_ghczmprim_GHCziTypes_Dzh_static_info"
-         , "-u", "_base_GHCziPtr_Ptr_static_info"
-         , "-u", "_ghczmprim_GHCziTypes_Wzh_static_info"
-         , "-u", "_base_GHCziInt_I8zh_static_info"
-         , "-u", "_base_GHCziInt_I16zh_static_info"
-         , "-u", "_base_GHCziInt_I32zh_static_info"
-         , "-u", "_base_GHCziInt_I64zh_static_info"
-         , "-u", "_base_GHCziWord_W8zh_static_info"
-         , "-u", "_base_GHCziWord_W16zh_static_info"
-         , "-u", "_base_GHCziWord_W32zh_static_info"
-         , "-u", "_base_GHCziWord_W64zh_static_info"
-         , "-u", "_base_GHCziStable_StablePtr_static_info"
-         , "-u", "_ghczmprim_GHCziTypes_Izh_con_info"
-         , "-u", "_ghczmprim_GHCziTypes_Czh_con_info"
-         , "-u", "_ghczmprim_GHCziTypes_Fzh_con_info"
-         , "-u", "_ghczmprim_GHCziTypes_Dzh_con_info"
-         , "-u", "_base_GHCziPtr_Ptr_con_info"
-         , "-u", "_base_GHCziPtr_FunPtr_con_info"
-         , "-u", "_base_GHCziStable_StablePtr_con_info"
-         , "-u", "_ghczmprim_GHCziTypes_False_closure"
-         , "-u", "_ghczmprim_GHCziTypes_True_closure"
-         , "-u", "_base_GHCziPack_unpackCString_closure"
-         , "-u", "_base_GHCziIOziException_stackOverflow_closure"
-         , "-u", "_base_GHCziIOziException_heapOverflow_closure"
-         , "-u", "_base_ControlziExceptionziBase_nonTermination_closure"
-         , "-u", "_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
-         , "-u", "_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
-         , "-u", "_base_ControlziExceptionziBase_nestedAtomically_closure"
-         , "-u", "_base_GHCziWeak_runFinalizzerBatch_closure"
-         , "-u", "_base_GHCziTopHandler_flushStdHandles_closure"
-         , "-u", "_base_GHCziTopHandler_runIO_closure"
-         , "-u", "_base_GHCziTopHandler_runNonIO_closure"
-        , "-u", "_base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
-         , "-u", "_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
-        , "-u", "_base_GHCziConcziSync_runSparks_closure"
-        , "-u", "_base_GHCziConcziSignal_runHandlers_closure"
+           "-Wl,-u,_ghczmprim_GHCziTypes_Izh_static_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Czh_static_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_static_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_static_info"
+         , "-Wl,-u,_base_GHCziPtr_Ptr_static_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Wzh_static_info"
+         , "-Wl,-u,_base_GHCziInt_I8zh_static_info"
+         , "-Wl,-u,_base_GHCziInt_I16zh_static_info"
+         , "-Wl,-u,_base_GHCziInt_I32zh_static_info"
+         , "-Wl,-u,_base_GHCziInt_I64zh_static_info"
+         , "-Wl,-u,_base_GHCziWord_W8zh_static_info"
+         , "-Wl,-u,_base_GHCziWord_W16zh_static_info"
+         , "-Wl,-u,_base_GHCziWord_W32zh_static_info"
+         , "-Wl,-u,_base_GHCziWord_W64zh_static_info"
+         , "-Wl,-u,_base_GHCziStable_StablePtr_static_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Czh_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info"
+         , "-Wl,-u,_base_GHCziPtr_Ptr_con_info"
+         , "-Wl,-u,_base_GHCziPtr_FunPtr_con_info"
+         , "-Wl,-u,_base_GHCziStable_StablePtr_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_False_closure"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_True_closure"
+         , "-Wl,-u,_base_GHCziPack_unpackCString_closure"
+         , "-Wl,-u,_base_GHCziIOziException_stackOverflow_closure"
+         , "-Wl,-u,_base_GHCziIOziException_heapOverflow_closure"
+         , "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
+         , "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
+         , "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
+         , "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure"
+         , "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_closure"
+         , "-Wl,-u,_base_GHCziEventziThread_blockedOnBadFD_closure"
+         , "-Wl,-u,_base_GHCziWeak_runFinalizzerBatch_closure"
+         , "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure"
+         , "-Wl,-u,_base_GHCziTopHandler_runIO_closure"
+         , "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure"
+         , "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
+         , "-Wl,-u,_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
+         , "-Wl,-u,_base_GHCziConcziSync_runSparks_closure"
+         , "-Wl,-u,_base_GHCziConcziSignal_runHandlersPtr_closure"
 #else
-           "-u", "ghczmprim_GHCziTypes_Izh_static_info"
-         , "-u", "ghczmprim_GHCziTypes_Czh_static_info"
-         , "-u", "ghczmprim_GHCziTypes_Fzh_static_info"
-         , "-u", "ghczmprim_GHCziTypes_Dzh_static_info"
-         , "-u", "base_GHCziPtr_Ptr_static_info"
-         , "-u", "ghczmprim_GHCziTypes_Wzh_static_info"
-         , "-u", "base_GHCziInt_I8zh_static_info"
-         , "-u", "base_GHCziInt_I16zh_static_info"
-         , "-u", "base_GHCziInt_I32zh_static_info"
-         , "-u", "base_GHCziInt_I64zh_static_info"
-         , "-u", "base_GHCziWord_W8zh_static_info"
-         , "-u", "base_GHCziWord_W16zh_static_info"
-         , "-u", "base_GHCziWord_W32zh_static_info"
-         , "-u", "base_GHCziWord_W64zh_static_info"
-         , "-u", "base_GHCziStable_StablePtr_static_info"
-         , "-u", "ghczmprim_GHCziTypes_Izh_con_info"
-         , "-u", "ghczmprim_GHCziTypes_Czh_con_info"
-         , "-u", "ghczmprim_GHCziTypes_Fzh_con_info"
-         , "-u", "ghczmprim_GHCziTypes_Dzh_con_info"
-         , "-u", "base_GHCziPtr_Ptr_con_info"
-         , "-u", "base_GHCziPtr_FunPtr_con_info"
-         , "-u", "base_GHCziStable_StablePtr_con_info"
-         , "-u", "ghczmprim_GHCziTypes_False_closure"
-         , "-u", "ghczmprim_GHCziTypes_True_closure"
-         , "-u", "base_GHCziPack_unpackCString_closure"
-         , "-u", "base_GHCziIOziException_stackOverflow_closure"
-         , "-u", "base_GHCziIOziException_heapOverflow_closure"
-         , "-u", "base_ControlziExceptionziBase_nonTermination_closure"
-         , "-u", "base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
-         , "-u", "base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
-         , "-u", "base_ControlziExceptionziBase_nestedAtomically_closure"
-         , "-u", "base_GHCziWeak_runFinalizzerBatch_closure"
-         , "-u", "base_GHCziTopHandler_flushStdHandles_closure"
-         , "-u", "base_GHCziTopHandler_runIO_closure"
-         , "-u", "base_GHCziTopHandler_runNonIO_closure"
-        , "-u", "base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
-        , "-u", "base_GHCziConcziSync_runSparks_closure"
-        , "-u", "base_GHCziConcziSignal_runHandlers_closure"
+           "-Wl,-u,ghczmprim_GHCziTypes_Izh_static_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Czh_static_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Fzh_static_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Dzh_static_info"
+         , "-Wl,-u,base_GHCziPtr_Ptr_static_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Wzh_static_info"
+         , "-Wl,-u,base_GHCziInt_I8zh_static_info"
+         , "-Wl,-u,base_GHCziInt_I16zh_static_info"
+         , "-Wl,-u,base_GHCziInt_I32zh_static_info"
+         , "-Wl,-u,base_GHCziInt_I64zh_static_info"
+         , "-Wl,-u,base_GHCziWord_W8zh_static_info"
+         , "-Wl,-u,base_GHCziWord_W16zh_static_info"
+         , "-Wl,-u,base_GHCziWord_W32zh_static_info"
+         , "-Wl,-u,base_GHCziWord_W64zh_static_info"
+         , "-Wl,-u,base_GHCziStable_StablePtr_static_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
+         , "-Wl,-u,base_GHCziPtr_Ptr_con_info"
+         , "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
+         , "-Wl,-u,base_GHCziStable_StablePtr_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
+         , "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
+         , "-Wl,-u,base_GHCziPack_unpackCString_closure"
+         , "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
+         , "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
+         , "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
+         , "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
+         , "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
+         , "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
+         , "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_closure"
+         , "-Wl,-u,base_GHCziEventziThread_blockedOnBadFD_closure"
+         , "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
+         , "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
+         , "-Wl,-u,base_GHCziTopHandler_runIO_closure"
+         , "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
+         , "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
+         , "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
+         , "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
+         , "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
 #endif
 
 /*  Pick up static libraries in preference over dynamic if in earlier search
@@ -150,7 +171,7 @@ ld-options:
  *  The used option is specific to the Darwin linker.
  */
 #ifdef darwin_HOST_OS
-        , "-Wl,-search_paths_first"
+         , "-Wl,-search_paths_first"
 #endif
 
 #if defined(darwin_HOST_OS) && !defined(x86_64_HOST_ARCH)
@@ -161,4 +182,3 @@ framework-dirs:
 
 haddock-interfaces:
 haddock-html:
-