Revert "rts, base: Refactor stats.c to improve --machine-readable report"
[ghc.git] / rts / package.conf.in
index 010305f..15b8ac2 100644 (file)
@@ -2,11 +2,13 @@
 
 #include "ghcconfig.h"
 #include "rts/Config.h"
+#include "MachDeps.h"
 
 name:           rts
 version:        1.0
-id:             builtin_rts
-license:        BSD3
+id:             rts
+key:            rts
+license:        BSD-3-Clause
 maintainer:     glasgow-haskell-users@haskell.org
 exposed:        True
 
@@ -15,51 +17,57 @@ hidden-modules:
 
 import-dirs:
 
-#ifdef INSTALLING
-library-dirs:           LIB_DIR"/rts-1.0" PAPI_LIB_DIR FFI_LIB_DIR
+#if defined(INSTALLING)
+library-dirs:           LIB_DIR"/rts" FFI_LIB_DIR
 #else /* !INSTALLING */
-library-dirs:           TOP"/rts/dist/build" PAPI_LIB_DIR FFI_LIB_DIR
+library-dirs:           TOP"/rts/dist/build" FFI_LIB_DIR
 #endif
 
 hs-libraries:   "HSrts" FFI_LIB
 
 extra-libraries:
-#ifdef HAVE_LIBM
+#if defined(HAVE_LIBM)
                                 "m"             /* for ldexp() */
 #endif
-#ifdef HAVE_LIBRT
+#if defined(HAVE_LIBRT)
                               , "rt"
 #endif
-#ifdef HAVE_LIBDL
+#if defined(HAVE_LIBDL)
                               , "dl"
 #endif
-#ifdef HAVE_LIBFFI
+#if defined(HAVE_LIBFFI)
                               , "ffi"
 #endif
-#ifdef mingw32_HOST_OS
+#if HAVE_LIBNUMA
+                              , "numa"
+#endif
+#if defined(mingw32_HOST_OS)
                               ,"wsock32"    /* for the linker */
                               ,"gdi32"      /* for the linker */
                               ,"winmm"      /* for the linker */
+                              ,"dbghelp"    /* for crash dump */
+                              ,"psapi"      /* for process information.  */
 #endif
-#ifdef freebsd_HOST_OS
-                              , "pthread" /* for pthread_getthreadid_np() */
+#if NEED_PTHREAD_LIB
+                              , "pthread"   /* for pthread_getthreadid_np, pthread_create, etc. */
 #endif
 #if defined(DEBUG) && defined(HAVE_LIBBFD)
                               ,"bfd", "iberty"  /* for debugging */
 #endif
-#ifdef HAVE_LIBMINGWEX
+#if defined(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
+#if defined(INSTALLING)
+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
@@ -67,93 +75,208 @@ hugs-options:
 cc-options:
 
 ld-options:
-#ifdef LEADING_UNDERSCORE
-           "-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"
+#if defined(LEADING_UNDERSCORE)
+
+           "-Wl,-u,_base_GHCziTopHandler_runIO_closure"
+         , "-Wl,-u,_base_GHCziTopHandler_runNonIO_closure"
+
+         , "-Wl,-u,_ghczmprim_GHCziTuple_Z0T_closure"
          , "-Wl,-u,_ghczmprim_GHCziTypes_True_closure"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_False_closure"
          , "-Wl,-u,_base_GHCziPack_unpackCString_closure"
+         , "-Wl,-u,_base_GHCziWeak_runFinalizzerBatch_closure"
          , "-Wl,-u,_base_GHCziIOziException_stackOverflow_closure"
          , "-Wl,-u,_base_GHCziIOziException_heapOverflow_closure"
-         , "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
+         , "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure"
          , "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
          , "-Wl,-u,_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
+         , "-Wl,-u,_base_GHCziIOziException_cannotCompactFunction_closure"
+         , "-Wl,-u,_base_GHCziIOziException_cannotCompactPinned_closure"
+         , "-Wl,-u,_base_GHCziIOziException_cannotCompactMutable_closure"
+         , "-Wl,-u,_base_ControlziExceptionziBase_nonTermination_closure"
          , "-Wl,-u,_base_ControlziExceptionziBase_nestedAtomically_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_GHCziEventziThread_blockedOnBadFD_closure"
+         , "-Wl,-u,_base_GHCziConcziSync_runSparks_closure"
          , "-Wl,-u,_base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
          , "-Wl,-u,_base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
-         , "-Wl,-u,_base_GHCziConcziSync_runSparks_closure"
-         , "-Wl,-u,_base_GHCziConcziSignal_runHandlers_closure"
+         , "-Wl,-u,_base_GHCziConcziSignal_runHandlersPtr_closure"
+         , "-Wl,-u,_base_GHCziTopHandler_flushStdHandles_closure"
+         , "-Wl,-u,_base_GHCziTopHandler_runMainIO_closure"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Czh_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Izh_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info"
+         , "-Wl,-u,_ghczmprim_GHCziTypes_Wzh_con_info"
+         , "-Wl,-u,_base_GHCziPtr_Ptr_con_info"
+         , "-Wl,-u,_base_GHCziPtr_FunPtr_con_info"
+         , "-Wl,-u,_base_GHCziInt_I8zh_con_info"
+         , "-Wl,-u,_base_GHCziInt_I16zh_con_info"
+         , "-Wl,-u,_base_GHCziInt_I32zh_con_info"
+         , "-Wl,-u,_base_GHCziInt_I64zh_con_info"
+         , "-Wl,-u,_base_GHCziWord_W8zh_con_info"
+         , "-Wl,-u,_base_GHCziWord_W16zh_con_info"
+         , "-Wl,-u,_base_GHCziWord_W32zh_con_info"
+         , "-Wl,-u,_base_GHCziWord_W64zh_con_info"
+         , "-Wl,-u,_base_GHCziStable_StablePtr_con_info"
+
+         , "-Wl,-u,_hs_atomic_add8"
+         , "-Wl,-u,_hs_atomic_add16"
+         , "-Wl,-u,_hs_atomic_add32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomic_add64"
+#endif
+         , "-Wl,-u,_hs_atomic_sub8"
+         , "-Wl,-u,_hs_atomic_sub16"
+         , "-Wl,-u,_hs_atomic_sub32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomic_sub64"
+#endif
+         , "-Wl,-u,_hs_atomic_and8"
+         , "-Wl,-u,_hs_atomic_and16"
+         , "-Wl,-u,_hs_atomic_and32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomic_and64"
+#endif
+         , "-Wl,-u,_hs_atomic_nand8"
+         , "-Wl,-u,_hs_atomic_nand16"
+         , "-Wl,-u,_hs_atomic_nand32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomic_nand64"
+#endif
+         , "-Wl,-u,_hs_atomic_or8"
+         , "-Wl,-u,_hs_atomic_or16"
+         , "-Wl,-u,_hs_atomic_or32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomic_or64"
+#endif
+         , "-Wl,-u,_hs_atomic_xor8"
+         , "-Wl,-u,_hs_atomic_xor16"
+         , "-Wl,-u,_hs_atomic_xor32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomic_xor64"
+#endif
+         , "-Wl,-u,_hs_cmpxchg8"
+         , "-Wl,-u,_hs_cmpxchg16"
+         , "-Wl,-u,_hs_cmpxchg32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_cmpxchg64"
+#endif
+         , "-Wl,-u,_hs_atomicread8"
+         , "-Wl,-u,_hs_atomicread16"
+         , "-Wl,-u,_hs_atomicread32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomicread64"
+#endif
+         , "-Wl,-u,_hs_atomicwrite8"
+         , "-Wl,-u,_hs_atomicwrite16"
+         , "-Wl,-u,_hs_atomicwrite32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,_hs_atomicwrite64"
+#endif
 #else
-           "-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,base_GHCziTopHandler_runIO_closure"
+         , "-Wl,-u,base_GHCziTopHandler_runNonIO_closure"
+
+         , "-Wl,-u,ghczmprim_GHCziTuple_Z0T_closure"
          , "-Wl,-u,ghczmprim_GHCziTypes_True_closure"
+         , "-Wl,-u,ghczmprim_GHCziTypes_False_closure"
          , "-Wl,-u,base_GHCziPack_unpackCString_closure"
+         , "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure"
          , "-Wl,-u,base_GHCziIOziException_stackOverflow_closure"
          , "-Wl,-u,base_GHCziIOziException_heapOverflow_closure"
-         , "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
+         , "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure"
          , "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnMVar_closure"
          , "-Wl,-u,base_GHCziIOziException_blockedIndefinitelyOnSTM_closure"
+         , "-Wl,-u,base_GHCziIOziException_cannotCompactFunction_closure"
+         , "-Wl,-u,base_GHCziIOziException_cannotCompactPinned_closure"
+         , "-Wl,-u,base_GHCziIOziException_cannotCompactMutable_closure"
+         , "-Wl,-u,base_ControlziExceptionziBase_nonTermination_closure"
          , "-Wl,-u,base_ControlziExceptionziBase_nestedAtomically_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_GHCziEventziThread_blockedOnBadFD_closure"
+         , "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
          , "-Wl,-u,base_GHCziConcziIO_ensureIOManagerIsRunning_closure"
          , "-Wl,-u,base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure"
-         , "-Wl,-u,base_GHCziConcziSync_runSparks_closure"
-         , "-Wl,-u,base_GHCziConcziSignal_runHandlers_closure"
+         , "-Wl,-u,base_GHCziConcziSignal_runHandlersPtr_closure"
+         , "-Wl,-u,base_GHCziTopHandler_flushStdHandles_closure"
+         , "-Wl,-u,base_GHCziTopHandler_runMainIO_closure"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Czh_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Izh_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info"
+         , "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info"
+         , "-Wl,-u,base_GHCziPtr_Ptr_con_info"
+         , "-Wl,-u,base_GHCziPtr_FunPtr_con_info"
+         , "-Wl,-u,base_GHCziInt_I8zh_con_info"
+         , "-Wl,-u,base_GHCziInt_I16zh_con_info"
+         , "-Wl,-u,base_GHCziInt_I32zh_con_info"
+         , "-Wl,-u,base_GHCziInt_I64zh_con_info"
+         , "-Wl,-u,base_GHCziWord_W8zh_con_info"
+         , "-Wl,-u,base_GHCziWord_W16zh_con_info"
+         , "-Wl,-u,base_GHCziWord_W32zh_con_info"
+         , "-Wl,-u,base_GHCziWord_W64zh_con_info"
+         , "-Wl,-u,base_GHCziStable_StablePtr_con_info"
+
+         , "-Wl,-u,hs_atomic_add8"
+         , "-Wl,-u,hs_atomic_add16"
+         , "-Wl,-u,hs_atomic_add32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomic_add64"
+#endif
+         , "-Wl,-u,hs_atomic_sub8"
+         , "-Wl,-u,hs_atomic_sub16"
+         , "-Wl,-u,hs_atomic_sub32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomic_sub64"
+#endif
+         , "-Wl,-u,hs_atomic_and8"
+         , "-Wl,-u,hs_atomic_and16"
+         , "-Wl,-u,hs_atomic_and32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomic_and64"
+#endif
+         , "-Wl,-u,hs_atomic_nand8"
+         , "-Wl,-u,hs_atomic_nand16"
+         , "-Wl,-u,hs_atomic_nand32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomic_nand64"
+#endif
+         , "-Wl,-u,hs_atomic_or8"
+         , "-Wl,-u,hs_atomic_or16"
+         , "-Wl,-u,hs_atomic_or32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomic_or64"
+#endif
+         , "-Wl,-u,hs_atomic_xor8"
+         , "-Wl,-u,hs_atomic_xor16"
+         , "-Wl,-u,hs_atomic_xor32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomic_xor64"
+#endif
+         , "-Wl,-u,hs_cmpxchg8"
+         , "-Wl,-u,hs_cmpxchg16"
+         , "-Wl,-u,hs_cmpxchg32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_cmpxchg64"
+#endif
+         , "-Wl,-u,hs_atomicread8"
+         , "-Wl,-u,hs_atomicread16"
+         , "-Wl,-u,hs_atomicread32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomicread64"
+#endif
+         , "-Wl,-u,hs_atomicwrite8"
+         , "-Wl,-u,hs_atomicwrite16"
+         , "-Wl,-u,hs_atomicwrite32"
+#if WORD_SIZE_IN_BITS == 64
+         , "-Wl,-u,hs_atomicwrite64"
+#endif
 #endif
 
 /*  Pick up static libraries in preference over dynamic if in earlier search
  *  path.  This is important to use the static gmp in preference on Mac OS.
  *  The used option is specific to the Darwin linker.
  */
-#ifdef darwin_HOST_OS
+#if defined(darwin_HOST_OS)
          , "-Wl,-search_paths_first"
 #endif
 
@@ -165,4 +288,3 @@ framework-dirs:
 
 haddock-interfaces:
 haddock-html:
-