Wed Feb 18 01:33:23 PST 2009  John Meacham <[email protected]>
  * support Win32 target.

Wed Feb 18 02:19:48 PST 2009  John Meacham <[email protected]>
  * add E/Show.hs-boot to the list of hs-boot files
  Ignore-this: a4243c6a2209237d7c245f409d19f857

Wed Feb 18 02:36:53 PST 2009  John Meacham <[email protected]>
  tagged todthicedal
  Ignore-this: 20a12b57a2c88ffdf4e31fea33a2a4fc

Wed Feb 18 02:36:57 PST 2009  John Meacham <[email protected]>
  * update datestamp
  Ignore-this: 38a19570744139ee668fefb24e83a5be

Wed Feb 18 03:27:20 PST 2009  John Meacham <[email protected]>
  * update documentation
  Ignore-this: dbfff88da59670d189f90e599f1fd5a7

Wed Feb 18 04:45:59 PST 2009  John Meacham <[email protected]>
  * add --print-hsc-options option to jhc
  Ignore-this: 40b9055b3a4e599bda630f3cfbdaa958
New patches:

[support Win32 target.
John Meacham <[email protected]>**20090218093323] 
<
> {
hunk ./data/rts/jhc_rts.c 31
 
 static void A_COLD
 jhc_print_profile(void) {
+#ifndef __WIN32__
         struct tms tm;
         times(&tm);
hunk ./data/rts/jhc_rts.c 34
+#endif
         if(!(_JHC_PROFILE || getenv("JHC_RTS_PROFILE"))) return;
 
         fprintf(stderr, "\n-----------------\n");
hunk ./data/rts/jhc_rts.c 43
         fprintf(stderr, "Complie: %s\n", jhc_c_compile);
         fprintf(stderr, "Version: %s\n\n", jhc_version);
         jhc_alloc_print_stats();
+#ifndef __WIN32__
         float cpt = (float)sysconf(_SC_CLK_TCK);
         fprintf(stderr, "User Time:   %.2fs\n", (float)tm.tms_utime/cpt);
         fprintf(stderr, "System Time: %.2fs\n", (float)tm.tms_stime/cpt);
hunk ./data/rts/jhc_rts.c 48
         fprintf(stderr, "Total Time:  %.2fs\n", (float)(tm.tms_stime + tm.tms_utime)/cpt);
+#endif
 
 #if _JHC_PROFILE
         fprintf(stderr, "\nFunction Calls:   %llu\n", (unsigned long long)jhc_prof_function_calls);
hunk ./data/rts/jhc_rts.c 80
         abort();
 }
 
+#ifdef __WIN32__
+#define jhc_setjmp(jb) setjmp(*(jmp_buf *)jb)
+#define jhc_longjmp(jb) longjmp(*(jmp_buf *)jb,1)
+#define getchar_unlocked() getchar()
+#define putchar_unlocked(x) putchar(x)
+#define getc_unlocked(x) getc(x)
+#define putc_unlocked(x,y) putc(x,y)
+#else
 #define jhc_setjmp(jb) sigsetjmp(*(jmp_buf *)jb,0)
 #define jhc_longjmp(jb) siglongjmp(*(jmp_buf *)jb,1)
hunk ./data/rts/jhc_rts.c 90
+#endif
 
 struct jhc_continuation {
     void *argument;
hunk ./data/rts/jhc_rts.c 146
         jhc_argv = argv + 1;
         jhc_progname = argv[0];
         setlocale(LC_ALL,"");
-        if (sigsetjmp(jhc_uncaught,0))
+        if (jhc_setjmp(jhc_uncaught))
                 jhc_error("Uncaught Exception");
         else
                 _amain();
hunk ./data/rts/jhc_rts_header.h 14
 #include <math.h>
 #include <assert.h>
 #include <float.h>
+#ifndef __WIN32__
 #include <sys/times.h>
hunk ./data/rts/jhc_rts_header.h 16
+#endif
 #include <setjmp.h>
 
 
}
[add E/Show.hs-boot to the list of hs-boot files
John Meacham <[email protected]>**20090218101948
 Ignore-this: a4243c6a2209237d7c245f409d19f857
] 
<
> {
hunk ./E/Show.hs-boot 12
 
 render :: Doc -> String
 prettyE :: E -> String
-ePrettyEx :: E -> Doc 
+ePrettyEx :: E -> Doc
 ePretty :: E -> Doc
 
 instance DocLike d => PPrint d TVr
hunk ./Makefile.am 115
 install-exec-hook:
 	cd $(DESTDIR)$(bindir) && $(LN_S) -f jhc$(EXEEXT) jhci$(EXEEXT)
 
-HSBOOT= DataConstructors.hs-boot FrontEnd/Tc/Class.hs-boot Grin/Grin.hs-boot Grin/Show.hs-boot Info/Binary.hs-boot
+HSBOOT= DataConstructors.hs-boot FrontEnd/Tc/Class.hs-boot Grin/Grin.hs-boot Grin/Show.hs-boot Info/Binary.hs-boot E/Show.hs-boot
 
 # Various rules for generated Haskell files
 
}
[TAG todthicedal
John Meacham <[email protected]>**20090218103653
 Ignore-this: 20a12b57a2c88ffdf4e31fea33a2a4fc
] 
<
[add E/Show.hs-boot to the list of hs-boot files
John Meacham <[email protected]>**20090218101948
 Ignore-this: a4243c6a2209237d7c245f409d19f857
] 
[Makefile.am: swap order of args to sed
[email protected]**20080421014252
 This is necessary for building on my system; otherwise sed always fails with an error.
] 
[support Win32 target.
John Meacham <[email protected]>**20090218093323] 
[don't abort if DrIFT is not installed
John Meacham <[email protected]>**20090218080847
 Ignore-this: a1d3ecf56256f5d7164998f8d5a142f2
] 
[fix compatability with ghc 6.10 due to Data.Map.lookup type change
John Meacham <[email protected]>**20090218080813
 Ignore-this: 6383f410fc69c2791a2a1184bea3dd70
] 
[minor cleanups. 
John Meacham <[email protected]>**20080417003717] 
[Fix kind printing for Lambdas/foralls
Samuel Bronson <[email protected]>**20080416232609] 
[Improve lambda/pi printing code
Samuel Bronson <[email protected]>**20080411230159
 Only only put as many lambda/pi abstractions on a line as will fit.
 Use sortKindLike to get the uppercase lambdas for type variables of
 kind other than *. (For instance, * -> *.)
 
 I had to make E.TypeCheck, E.Eval and E.Subst import E.Show with a {-#
 SOURCE #-} pragma before I could use sortKindLike. (I also had to
 write the .hs-boot file, of course).
] 
[Use $(HC) --interactive instead of ghci, in case a non-default version of GHC is in use
Samuel Bronson <[email protected]>**20080410193413] 
[Allow irrefutable patterns in lambdas + regression test
Samuel Bronson <[email protected]>**20080330043358] 
[fix conflicts in Name.Names
John Meacham <[email protected]>**20080326092848] 
[rearrange libraries some, move RULES to more logical places
John Meacham <[email protected]>**20080326092814] 
[allow 'non-decreasing indentation'
John Meacham <[email protected]>**20080326092755] 
[Improve (->) situation somewhat
Samuel Bronson <[email protected]>**20080318033431
 Control.Arrow still won't quite work... something about Control.Arrow.172_a not getting a kind inferred...
] 
[Remove duplicate case in kiType
Samuel Bronson <[email protected]>**20080317200547] 
[Oops... left out one of the most important parts of -dsquare-stats
Samuel Bronson <[email protected]>**20080320192134] 
[TAG eogmidkiv
John Meacham <[email protected]>**20080324121616] 
> {
}
[update datestamp
John Meacham <[email protected]>**20090218103657
 Ignore-this: 38a19570744139ee668fefb24e83a5be
] 
<
> {
hunk ./configure.ac 1
-AC_INIT([jhc],[0.5.20080307])
+AC_INIT([jhc],[0.5.20090218])
 AC_CONFIG_SRCDIR(Main.hs)
 AC_CONFIG_MACRO_DIR(ac-macros)
 AC_CONFIG_AUX_DIR(ac-macros)
hunk ./configure.ac 7
 AM_INIT_AUTOMAKE([foreign no-dependencies std-options])
 
-REVISION=20080307
+REVISION=20090218
 SHORTVERSION=0.5
 
 AC_CANONICAL_HOST
}
[update documentation
John Meacham <[email protected]>**20090218112720
 Ignore-this: dbfff88da59670d189f90e599f1fd5a7
] 
<
> {
hunk ./docs/building.mkd.in 6
 
 All versions of jhc are available from the
 [Download Directory](http://repetae.net/computer/jhc/drop/). The project is
-also under darcs revision control, for information on getting the source code
-from darcs and building it, see the [Development Page](development.shtml).
+also under darcs revision control however the build process from darcs is
+somewhat more involved. For information on getting the source code from darcs
+and building it, see the [Development Page](development.shtml).
 
 Getting the RPM
 ---------------
hunk ./docs/building.mkd.in 13
 
-This is by far the easiest way to go about it, an RPM for x86 based systems
-(32 or 64 bits) can be instaled from:
-<http://repetae.net/computer/jhc/drop/@pack...@-@vers...@-@[email protected]>.
+This is by far the easiest way to go about it if you have an rpm based system, an RPM for x86 based systems
+ can be instaled from:
+<http://repetae.net/computer/jhc/drop/@pack...@-@vers...@-@[email protected]_64.rpm>.
 There is also a 'src' rpm in the download directory for rebuilding from source.
 
 Building from the tarball
hunk ./docs/building.mkd.in 25
 has the following dependencies:
 
  * GHC 6.8.2 or better
- * Recent version of [DrIFT](http://repetae.net/computer/haskell/DrIFT)
  * haskell library [binary](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary)
  * haskell library [zlib](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zlib)
 
hunk ./docs/building.mkd.in 50
 '.hl' files in your build directory and doing a 'make libs'. however it is
 recommended you work with the development darcs tree if you plan on modifying
 the base libraries.
-
-
-
hunk ./docs/development.mkd 13
 Getting the source
 ------------------
 
+If you simply wish to use jhc, it is easier to build from the distribution
+tarball, as described on the [Building Page](building.shtml). If you are interested
+in developing or modifying jhc itself, then building from darcs as described on this
+page is recommended.
+
 In order to build from the darcs repo, you need the following things installed:
 
     * GHC 6.8.2 or better
hunk ./docs/development.mkd 29
     * a working 'perl' install for various sundry tasks
     * the happy haskell parser generator
 
-First you must install darcs, there are a couple projects you need to pull in order to compile jhc, the following should produce a working tree:
+First you must install darcs, there are a couple projects you need to pull in
+order to compile jhc, the following should produce a working tree:
 
     darcs get http://repetae.net/repos/jhc
     cd jhc
hunk ./docs/development.mkd 52
 
     make helloworld
 
-however, during development it is often easier to use the raw haskell source of the libraries directly. in order to do that, you can run jhc with the following options when run in the development tree.
+however, during development it is often easier to use the raw haskell source of
+the libraries directly. in order to do that, you can run jhc with the following
+options when run in the development tree.
 
     ./jhc -v --noauto -ilib/base -ilib/haskell98 test/HelloWorld.hs -o helloworld
 
}
[add --print-hsc-options option to jhc
John Meacham <[email protected]>**20090218124559
 Ignore-this: 40b9055b3a4e599bda630f3cfbdaa958
] 
<
> {
hunk ./Main.hs 69
 import Util.Graph
 import Util.SetLike as S
 import Version.Version(versionString,versionContext,versionSimple)
+import qualified Version.Config as VC
 import qualified C.FromGrin2 as FG2
 import qualified E.CPR
 import qualified E.Demand as Demand(analyzeProgram)
hunk ./Main.hs 114
                 putStrLn "Libraries found:"
             ll <- libraryList
             sequence_ [ putStrLn name | (name,_) <- ll ]
-        ShowHo ho     -> dumpHoFile ho
-        Version       -> putStrLn versionString
-        DependencyTree -> doDependency (optArgs o)
-        VersionCtx    -> putStrLn (versionString ++ versionContext)
-        _             -> processFiles  (optArgs o)
+        ShowHo ho       -> dumpHoFile ho
+        Version         -> putStrLn versionString
+        PrintHscOptions -> putStrLn $ "-I" ++ VC.datadir ++ "/" ++ VC.package ++ "-" ++ VC.shortVersion ++ "/include"
+        DependencyTree  -> doDependency (optArgs o)
+        VersionCtx      -> putStrLn (versionString ++ versionContext)
+        _               -> processFiles  (optArgs o)
 
 
 processFiles [] | Nothing <- optMainFunc options = do
hunk ./Makefile.am 67
 
 install-data-hook: $(JHC_LIBS)
 	$(INSTALL) -d $(DESTDIR)$(datadir)/@pack...@-@SHORTVERSION@
+	$(INSTALL) -d $(DESTDIR)$(datadir)/@pack...@-@SHORTVERSION@/include
 	for lib in $(JHC_LIBS); do  \
 		test -f "$$lib" && $(INSTALL_DATA) $$lib $(DESTDIR)$(datadir)/@pack...@-@SHORTVERSION@ ; \
 		test -f "$(srcdir)/$$lib" && $(INSTALL_DATA) "$(srcdir)/$$lib" $(DESTDIR)$(datadir)/@pack...@-@SHORTVERSION@ ; \
hunk ./Makefile.am 72
 	done
+	$(INSTALL_DATA) "$(srcdir)/data/HsFFI.h" $(DESTDIR)$(datadir)/@pack...@-@SHORTVERSION@/include ;
 
 uninstall-hook: $(JHC_LIBS)
 	rm -f -- "$(DESTDIR)$(bindir)/jhci$(EXTEXT)"
hunk ./Makefile.am 79
 	for lib in $(JHC_LIBS); do  \
 		rm -f -- "$(DESTDIR)$(datadir)/@pack...@-@SHORTVERSION@/$$lib" ; \
 	done
+	rm -f -- "$(DESTDIR)$(datadir)/@pack...@-@SHORTVERSION@/include/HsFFI.h" ;
 
 UTILS = utils/op_process.prl utils/opt_sets.prl utils/gen_props.prl utils/op_names.prl utils/op_raw.prl
 
hunk ./Options.hs 54
           | DependencyTree -- ^ show simple dependency tree
           | ShowHo String  -- ^ Show ho-file.
           | ListLibraries  -- ^ List libraries
+          | PrintHscOptions -- ^ Print options for hsc2hs
             deriving(Eq)
 
 
hunk ./Options.hs 148
     , Option []    ["progc"]     (ReqArg (\d -> optCC_s d) "gcc")      "c compiler to use"
     , Option []    ["arg"]       (ReqArg (\d -> optProgArgs_u (++ [d])) "arg") "arguments to pass interpreted program"
     , Option ['N'] ["noprelude"] (NoArg  (optPrelude_s False))         "no implicit prelude"
-    , Option ['C'] []            (NoArg  (optMode_s CompileHoGrin))    "Typecheck, compile ho and grin."
-    , Option ['c'] []            (NoArg  (optMode_s CompileHo))        "Typecheck and compile ho."
-    , Option []    ["interpret"] (NoArg  (optMode_s Interpret))        "interpret."
-    , Option ['k'] ["keepgoing"] (NoArg  (optKeepGoing_s True))        "keep going on errors."
-    , Option []    ["width"]     (ReqArg (optColumns_s . read) "COLUMNS") "width of screen for debugging output."
-    , Option []    ["main"]      (ReqArg (optMainFunc_s . Just . (,) False) "Main.main")  "main entry point."
-    , Option ['m'] ["arch"]      (ReqArg (optArch_s . Just ) "arch")            "target architecture."
-    , Option []    ["entry"]     (ReqArg (optMainFunc_s . Just . (,) True)  "<expr>")  "main entry point, showable expression."
+    , Option ['C'] []            (NoArg  (optMode_s CompileHoGrin))    "Typecheck, compile ho and grin"
+    , Option ['c'] []            (NoArg  (optMode_s CompileHo))        "Typecheck and compile ho"
+    , Option []    ["interpret"] (NoArg  (optMode_s Interpret))        "interpret"
+    , Option ['k'] ["keepgoing"] (NoArg  (optKeepGoing_s True))        "keep going on errors"
+    , Option []    ["width"]     (ReqArg (optColumns_s . read) "COLUMNS") "width of screen for debugging output"
+    , Option []    ["main"]      (ReqArg (optMainFunc_s . Just . (,) False) "Main.main")  "main entry point"
+    , Option ['m'] ["arch"]      (ReqArg (optArch_s . Just ) "arch")            "target architecture"
+    , Option []    ["entry"]     (ReqArg (optMainFunc_s . Just . (,) True)  "<expr>")  "main entry point, showable expression"
     , Option ['e'] []            (ReqArg (\d -> optStmts_u (d:)) "<statement>")  "run given statement as if on jhci prompt"
     , Option []    ["debug"]     (NoArg  (optDebug_s True))            "debugging"
     , Option []    ["show-ho"]   (ReqArg  (optMode_s . ShowHo) "file.ho") "Show ho file"
hunk ./Options.hs 161
     , Option []    ["noauto"]    (NoArg  (optNoAuto_s True))           "Don't automatically load base and haskell98 packages"
     , Option ['p'] []            (ReqArg (\d -> optHls_u (++ [d])) "file.hl") "Load given haskell library .hl file"
-    , Option ['L'] []            (ReqArg (optHlPath_u . idu) "path")   "Look for haskell libraries in the given directory."
+    , Option ['L'] []            (ReqArg (optHlPath_u . idu) "path")   "Look for haskell libraries in the given directory"
     , Option []    ["build-hl"]  (ReqArg (optMode_s . BuildHl) "file.cabal") "Build hakell library from given library description file"
     , Option []    ["interactive"] (NoArg  (optMode_s Interactive))    "run interactivly"
     , Option []    ["ignore-ho"]   (NoArg  (optIgnoreHo_s True))       "Ignore existing haskell object files"
hunk ./Options.hs 171
     , Option []    ["ho-dir"]      (ReqArg (optHoDir_s . Just ) "<dir>")    "Where to place and look for ho files"
     , Option []    ["stale"]       (ReqArg (optStale_u . idu) "Module")     "Treat these modules as stale, even if a ho file is present"
     , Option []    ["dependency"]  (NoArg  (optMode_s DependencyTree))  "Follow import dependencies only then quit"
-    , Option []    ["no-follow-deps"] (NoArg  (optFollowDeps_s False)) "Don't follow depencies not listed on command line."
-    , Option []    ["list-libraries"] (NoArg  (optMode_s ListLibraries)) "List of installed libraries."
+    , Option []    ["no-follow-deps"] (NoArg  (optFollowDeps_s False)) "Don't follow depencies not listed on command line"
+    , Option []    ["list-libraries"] (NoArg  (optMode_s ListLibraries)) "List of installed libraries"
+    , Option []    ["print-hsc-options"] (NoArg (optMode_s PrintHscOptions)) "print options to pass to hsc2hs"
     ]
 
 -- | Width of terminal.
hunk ./jhc.spec.in 39
 
 %{_datadir}/@pack...@-@SHORTVERSION@/base-1.0.hl
 %{_datadir}/@pack...@-@SHORTVERSION@/haskell98-1.0.hl
+%{_datadir}/@pack...@-@SHORTVERSION@/include/HsFFI.h
 
 %doc COPYING
 
}

Context:

[Makefile.am: swap order of args to sed
[email protected]**20080421014252
 This is necessary for building on my system; otherwise sed always fails with an error.
] 
[don't abort if DrIFT is not installed
John Meacham <[email protected]>**20090218080847
 Ignore-this: a1d3ecf56256f5d7164998f8d5a142f2
] 
[fix compatability with ghc 6.10 due to Data.Map.lookup type change
John Meacham <[email protected]>**20090218080813
 Ignore-this: 6383f410fc69c2791a2a1184bea3dd70
] 
[minor cleanups. 
John Meacham <[email protected]>**20080417003717] 
[Fix kind printing for Lambdas/foralls
Samuel Bronson <[email protected]>**20080416232609] 
[Improve lambda/pi printing code
Samuel Bronson <[email protected]>**20080411230159
 Only only put as many lambda/pi abstractions on a line as will fit.
 Use sortKindLike to get the uppercase lambdas for type variables of
 kind other than *. (For instance, * -> *.)
 
 I had to make E.TypeCheck, E.Eval and E.Subst import E.Show with a {-#
 SOURCE #-} pragma before I could use sortKindLike. (I also had to
 write the .hs-boot file, of course).
] 
[Use $(HC) --interactive instead of ghci, in case a non-default version of GHC is in use
Samuel Bronson <[email protected]>**20080410193413] 
[Allow irrefutable patterns in lambdas + regression test
Samuel Bronson <[email protected]>**20080330043358] 
[fix conflicts in Name.Names
John Meacham <[email protected]>**20080326092848] 
[rearrange libraries some, move RULES to more logical places
John Meacham <[email protected]>**20080326092814] 
[allow 'non-decreasing indentation'
John Meacham <[email protected]>**20080326092755] 
[Improve (->) situation somewhat
Samuel Bronson <[email protected]>**20080318033431
 Control.Arrow still won't quite work... something about Control.Arrow.172_a not getting a kind inferred...
] 
[Remove duplicate case in kiType
Samuel Bronson <[email protected]>**20080317200547] 
[Oops... left out one of the most important parts of -dsquare-stats
Samuel Bronson <[email protected]>**20080320192134] 
[TAG eogmidkiv
John Meacham <[email protected]>**20080324121616] 
Patch bundle hash:
2564aa1ea5663c8deed73545353c25a6c978e68b
_______________________________________________
jhc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/jhc

Reply via email to