/* The RTS is just another package! */

#include "ghcconfig.h"
#include "rts/Config.h"
#include "MachDeps.h"

name:           rts
version:        1.0
id:             rts
key:            rts
license:        BSD3
maintainer:     glasgow-haskell-users@haskell.org
exposed:        True

exposed-modules:
hidden-modules:

import-dirs:

#ifdef INSTALLING
library-dirs:           LIB_DIR"/rts" FFI_LIB_DIR
#else /* !INSTALLING */
library-dirs:           TOP"/rts/dist/build" FFI_LIB_DIR
#endif

hs-libraries:   "HSrts" FFI_LIB

extra-libraries:
#ifdef HAVE_LIBM
                                "m"             /* for ldexp() */
#endif
#ifdef HAVE_LIBRT
                              , "rt"
#endif
#ifdef HAVE_LIBDL
                              , "dl"
#endif
#ifdef HAVE_LIBFFI
                              , "ffi"
#endif
#ifdef mingw32_HOST_OS
                              ,"wsock32"    /* for the linker */
                              ,"gdi32"      /* for the linker */
                              ,"winmm"      /* for the linker */
#endif
                              , "pthread"   /* for pthread_getthreadid_np, pthread_create, etc. */
#if defined(DEBUG) && defined(HAVE_LIBBFD)
                              ,"bfd", "iberty"  /* for debugging */
#endif
#ifdef HAVE_LIBMINGWEX
# ifndef INSTALLING                             /* Bundled Mingw is behind */
                              ,"mingwex"
# endif
#endif
#ifdef USE_LIBDW
                             , "elf"
                             , "dw"             /* for backtraces */
#endif

#ifdef INSTALLING
include-dirs:           INCLUDE_DIR FFI_INCLUDE_DIR
#else /* !INSTALLING */
include-dirs:           TOP"/rts/dist/build" TOP"/includes" TOP"/includes/dist-derivedconstants/header" FFI_INCLUDE_DIR
#endif

includes:               Stg.h
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"
         , "-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
           "-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
 *  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
         , "-Wl,-search_paths_first"
#endif

#if defined(darwin_HOST_OS) && !defined(x86_64_HOST_ARCH)
         , "-read_only_relocs", "warning"
#endif

framework-dirs:

haddock-interfaces:
haddock-html:

