prelude: :gerbil/core
package: gerbil/compiler
namespace: gxc

(%#begin (%#import
          :gerbil/expander
          :gerbil/runtime/error
          :gerbil/compiler/base
          :gerbil/compiler/compile
          :gerbil/compiler/optimize)
         (%#export
          (spec: 0 compile-module compile-module)
          (spec: 0 compile-exe compile-exe))
         (%#extern (gerbil-path gerbil-path))
         (%#define-runtime default-gerbil-gsc gxc#default-gerbil-gsc)
         (%#define-runtime default-gerbil-gcc gxc#default-gerbil-gcc)
         (%#define-runtime default-gerbil-ar gxc#default-gerbil-ar)
         (%#define-runtime +driver-mutex+ gxc#+driver-mutex+)
         (%#begin (%#begin-syntax
                   (%#call (%#ref load-module)
                           (%#quote "gerbil/compiler/driver~1")))
                  (%#define-syntax
                   with-driver-mutex
                   |gxc[:0:]#with-driver-mutex|))
         (%#define-runtime compile-timestamp gxc#compile-timestamp)
         (%#define-runtime compile-timestamp-nanos gxc#compile-timestamp-nanos)
         (%#define-runtime scheme-file-settings gxc#scheme-file-settings)
         (%#define-runtime
          with-output-to-scheme-file
          gxc#with-output-to-scheme-file)
         (%#define-runtime +gerbil-gsc+ gxc#+gerbil-gsc+)
         (%#define-runtime gerbil-gsc gxc#gerbil-gsc)
         (%#define-runtime +gerbil-gcc+ gxc#+gerbil-gcc+)
         (%#define-runtime gerbil-gcc gxc#gerbil-gcc)
         (%#define-runtime +gerbil-ar+ gxc#+gerbil-ar+)
         (%#define-runtime gerbil-ar gxc#gerbil-ar)
         (%#define-runtime gerbil-rpath gxc#gerbil-rpath)
         (%#define-runtime gerbil-runtime-modules gxc#gerbil-runtime-modules)
         (%#define-runtime delete-directory* gxc#delete-directory*)
         (%#begin (%#define-runtime compile-module__% gxc#compile-module__%)
                  (%#begin (%#define-runtime
                            compile-module__0
                            gxc#compile-module__0)
                           (%#define-runtime
                            compile-module
                            gxc#compile-module)))
         (%#begin (%#define-runtime compile-exe__% gxc#compile-exe__%)
                  (%#begin (%#define-runtime compile-exe__0 gxc#compile-exe__0)
                           (%#define-runtime compile-exe gxc#compile-exe)))
         (%#define-runtime
          compile-executable-module
          gxc#compile-executable-module)
         (%#define-runtime
          compile-executable-module/separate
          gxc#compile-executable-module/separate)
         (%#define-runtime
          compile-executable-module/full-program-optimization
          gxc#compile-executable-module/full-program-optimization)
         (%#define-runtime find-export-binding gxc#find-export-binding)
         (%#define-runtime find-runtime-symbol gxc#find-runtime-symbol)
         (%#define-runtime
          find-runtime-module-deps
          gxc#find-runtime-module-deps)
         (%#define-runtime find-static-module-file gxc#find-static-module-file)
         (%#define-runtime file-empty? gxc#file-empty?)
         (%#define-runtime compile-top-module gxc#compile-top-module)
         (%#define-runtime collect-bindings gxc#collect-bindings)
         (%#define-runtime compile-runtime-code gxc#compile-runtime-code)
         (%#define-runtime compile-meta-code gxc#compile-meta-code)
         (%#define-runtime compile-ssxi-code gxc#compile-ssxi-code)
         (%#define-runtime generate-meta-code gxc#generate-meta-code)
         (%#define-runtime generate-runtime-phi gxc#generate-runtime-phi)
         (%#define-runtime lift-nested-modules gxc#lift-nested-modules)
         (%#begin (%#define-runtime
                   compile-scm-file__%
                   gxc#compile-scm-file__%)
                  (%#begin (%#define-runtime
                            compile-scm-file__0
                            gxc#compile-scm-file__0)
                           (%#define-runtime
                            compile-scm-file
                            gxc#compile-scm-file)))
         (%#begin (%#define-runtime
                   gsc-link-options__%
                   gxc#gsc-link-options__%)
                  (%#begin (%#define-runtime
                            gsc-link-options__0
                            gxc#gsc-link-options__0)
                           (%#define-runtime
                            gsc-link-options
                            gxc#gsc-link-options)))
         (%#begin (%#begin (%#define-runtime
                            gsc-cc-options__%__%
                            gxc#gsc-cc-options__%__%)
                           (%#begin (%#define-runtime
                                     gsc-cc-options__%__0
                                     gxc#gsc-cc-options__%__0)
                                    (%#define-runtime
                                     gsc-cc-options__%
                                     gxc#gsc-cc-options__%)))
                  (%#define-runtime gsc-cc-options__@ gxc#gsc-cc-options__@)
                  (%#define-runtime gsc-cc-options gxc#gsc-cc-options))
         (%#begin (%#begin (%#define-runtime
                            gsc-ld-options__%__%
                            gxc#gsc-ld-options__%__%)
                           (%#begin (%#define-runtime
                                     gsc-ld-options__%__0
                                     gxc#gsc-ld-options__%__0)
                                    (%#define-runtime
                                     gsc-ld-options__%
                                     gxc#gsc-ld-options__%)))
                  (%#define-runtime gsc-ld-options__@ gxc#gsc-ld-options__@)
                  (%#define-runtime gsc-ld-options gxc#gsc-ld-options))
         (%#define-runtime
          gsc-static-include-options
          gxc#gsc-static-include-options)
         (%#define-runtime gcc-ld-options gxc#gcc-ld-options)
         (%#define-runtime not-string-empty? gxc#not-string-empty?)
         (%#define-runtime gsc-compile-file gxc#gsc-compile-file)
         (%#define-runtime compile-output-file gxc#compile-output-file)
         (%#define-runtime
          compile-static-output-file
          gxc#compile-static-output-file)
         (%#define-runtime compile-exe-output-file gxc#compile-exe-output-file)
         (%#define-runtime static-module-name gxc#static-module-name)
         (%#define-runtime gerbil-enable-shared? gxc#gerbil-enable-shared?)
         (%#begin (%#define-runtime invoke__% gxc#invoke__%)
                  (%#define-runtime invoke__@ gxc#invoke__@)
                  (%#define-runtime invoke gxc#invoke)))
(%#call (%#ref load-module) (%#quote "gerbil/compiler/driver~0"))
