snix/third_party/bazel/rules_haskell/tests/version-macros/C2hsLib.chs

44 lines
1.2 KiB
Text

module C2hsLib where
import Control.Monad (unless)
check_version_versioned_lib :: IO ()
#ifndef VERSION_versioned_lib
check_version_versioned_lib = fail "c2hs: VERSION_versioned_lib missing"
#else
check_version_versioned_lib =
unless ({#const VERSION_versioned_lib#} == "1.2.3.4") $
fail "c2hs: VERSION_versioned_lib invalid"
#endif
check_min_version_versioned_lib :: IO ()
#ifndef MIN_VERSION_versioned_lib
check_min_version_versioned_lib = fail "c2hs: MIN_VERSION_versioned_lib missing"
#elif !MIN_VERSION_versioned_lib(1,2,3)
check_min_version_versioned_lib = fail "c2hs: MIN_VERSION_versioned_lib invalid"
#else
check_min_version_versioned_lib = pure ()
#endif
check_version_base :: IO ()
#ifndef VERSION_base
check_version_base = fail "c2hs: VERSION_base missing"
#else
check_version_base = pure ()
#endif
check_min_version_base :: IO ()
#ifndef MIN_VERSION_base
check_min_version_base = fail "c2hs: MIN_VERSION_base missing"
#elif !MIN_VERSION_base(0,0,0)
check_min_version_base = fail "c2hs: MIN_VERSION_base invalid"
#else
check_min_version_base = pure ()
#endif
check :: IO ()
check = do
check_version_versioned_lib
check_min_version_versioned_lib
check_version_base
check_min_version_base