87 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			87 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 
								 | 
							
								diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs
							 | 
						||
| 
								 | 
							
								index db8b12e..7b815c5 100644
							 | 
						||
| 
								 | 
							
								--- a/src-bin/Boot.hs
							 | 
						||
| 
								 | 
							
								+++ b/src-bin/Boot.hs
							 | 
						||
| 
								 | 
							
								@@ -540,9 +540,7 @@ initPackageDB :: B ()
							 | 
						||
| 
								 | 
							
								 initPackageDB = do
							 | 
						||
| 
								 | 
							
								   msg info "creating package databases"
							 | 
						||
| 
								 | 
							
								   initDB "--global" <^> beLocations . blGlobalDB
							 | 
						||
| 
								 | 
							
								-  traverseOf_ _Just initUser <^> beLocations . blUserDBDir
							 | 
						||
| 
								 | 
							
								   where
							 | 
						||
| 
								 | 
							
								-    initUser dir = rm_f (dir </> "package.conf") >> initDB "--user" (dir </> "package.conf.d")
							 | 
						||
| 
								 | 
							
								     initDB dbName db = do
							 | 
						||
| 
								 | 
							
								       rm_rf db >> mkdir_p db
							 | 
						||
| 
								 | 
							
								       ghcjs_pkg_ ["init", toTextI db] `catchAny_` return ()
							 | 
						||
| 
								 | 
							
								@@ -566,29 +564,22 @@ installDevelopmentTree = subTop $ do
							 | 
						||
| 
								 | 
							
								   msgD info $ "preparing development boot tree"
							 | 
						||
| 
								 | 
							
								   checkpoint' "ghcjs-boot-git" "ghcjs-boot repository already cloned and prepared" $ do
							 | 
						||
| 
								 | 
							
								     testGit "ghcjs-boot" >>= \case
							 | 
						||
| 
								 | 
							
								-      Just False -> failWith "ghcjs-boot already exists and is not a git repository"
							 | 
						||
| 
								 | 
							
								-      Just True  -> do
							 | 
						||
| 
								 | 
							
								-        msg info "ghcjs-boot repository already exists but checkpoint not reached, cleaning first, then cloning"
							 | 
						||
| 
								 | 
							
								-        rm_rf "ghcjs-boot"
							 | 
						||
| 
								 | 
							
								+      Just _ -> do
							 | 
						||
| 
								 | 
							
								+        msg info "ghcjs-boot repository already exists; initializing ghcjs-boot"
							 | 
						||
| 
								 | 
							
								         initGhcjsBoot
							 | 
						||
| 
								 | 
							
								       Nothing    -> do
							 | 
						||
| 
								 | 
							
								         msgD info "cloning ghcjs-boot git repository"
							 | 
						||
| 
								 | 
							
								         initGhcjsBoot
							 | 
						||
| 
								 | 
							
								   checkpoint' "shims-git" "shims repository already cloned" $ do
							 | 
						||
| 
								 | 
							
								     testGit "shims" >>= \case
							 | 
						||
| 
								 | 
							
								-      Just False -> failWith "shims already exists and is not a git repository"
							 | 
						||
| 
								 | 
							
								-      Just True  -> do
							 | 
						||
| 
								 | 
							
								-        msgD info "shims repository already exists but checkpoint not reached, cleaning first, then cloning"
							 | 
						||
| 
								 | 
							
								-        rm_rf "shims"
							 | 
						||
| 
								 | 
							
								-        cloneGit shimsDescr "shims" bsrcShimsDevBranch bsrcShimsDev
							 | 
						||
| 
								 | 
							
								+      Just _ -> do
							 | 
						||
| 
								 | 
							
								+        msgD info "shims repository already exists; moving on"
							 | 
						||
| 
								 | 
							
								       Nothing    -> do
							 | 
						||
| 
								 | 
							
								         msgD info "cloning shims git repository"
							 | 
						||
| 
								 | 
							
								         cloneGit shimsDescr "shims" bsrcShimsDevBranch bsrcShimsDev
							 | 
						||
| 
								 | 
							
								   where
							 | 
						||
| 
								 | 
							
								     initGhcjsBoot = sub $ do
							 | 
						||
| 
								 | 
							
								-      cloneGit bootDescr "ghcjs-boot"  bsrcBootDevBranch bsrcBootDev
							 | 
						||
| 
								 | 
							
								       cd "ghcjs-boot"
							 | 
						||
| 
								 | 
							
								-      git_ ["submodule", "update", "--init", "--recursive"]
							 | 
						||
| 
								 | 
							
								       mapM_ patchPackage =<< allPackages
							 | 
						||
| 
								 | 
							
								       preparePrimops
							 | 
						||
| 
								 | 
							
								       buildGenPrim
							 | 
						||
| 
								 | 
							
								@@ -1201,14 +1192,14 @@ cabalInstallFlags parmakeGhcjs = do
							 | 
						||
| 
								 | 
							
								            , "--avoid-reinstalls"
							 | 
						||
| 
								 | 
							
								            , "--builddir",      "dist"
							 | 
						||
| 
								 | 
							
								            , "--with-compiler", ghcjs ^. pgmLocText
							 | 
						||
| 
								 | 
							
								+           , "--with-gcc",      "@CC@"
							 | 
						||
| 
								 | 
							
								            , "--with-hc-pkg",   ghcjsPkg ^. pgmLocText
							 | 
						||
| 
								 | 
							
								-           , "--prefix",        toTextI instDir
							 | 
						||
| 
								 | 
							
								+           , "--prefix",        "@PREFIX@"
							 | 
						||
| 
								 | 
							
								+           , "--libdir",        "$prefix/lib/$compiler"
							 | 
						||
| 
								 | 
							
								+           , "--libsubdir",     "$pkgid"
							 | 
						||
| 
								 | 
							
								            , bool haddock "--enable-documentation" "--disable-documentation"
							 | 
						||
| 
								 | 
							
								            , "--haddock-html"
							 | 
						||
| 
								 | 
							
								--- workaround for hoogle support being broken in haddock for GHC 7.10RC1
							 | 
						||
| 
								 | 
							
								-#if !(__GLASGOW_HASKELL__ >= 709)
							 | 
						||
| 
								 | 
							
								            , "--haddock-hoogle"
							 | 
						||
| 
								 | 
							
								-#endif
							 | 
						||
| 
								 | 
							
								            , "--haddock-hyperlink-source"
							 | 
						||
| 
								 | 
							
								 -- don't slow down Windows builds too much, on other platforms we get this more
							 | 
						||
| 
								 | 
							
								 -- or less for free, thanks to dynamic-too
							 | 
						||
| 
								 | 
							
								diff --git a/src/Compiler/Info.hs b/src/Compiler/Info.hs
							 | 
						||
| 
								 | 
							
								index 33a401f..e2405a7 100644
							 | 
						||
| 
								 | 
							
								--- a/src/Compiler/Info.hs
							 | 
						||
| 
								 | 
							
								+++ b/src/Compiler/Info.hs
							 | 
						||
| 
								 | 
							
								@@ -48,13 +48,7 @@ compilerInfo nativeToo dflags = do
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 -- | the directory to use if started without -B flag
							 | 
						||
| 
								 | 
							
								 getDefaultTopDir :: IO FilePath
							 | 
						||
| 
								 | 
							
								-getDefaultTopDir = do
							 | 
						||
| 
								 | 
							
								-  appdir <- getAppUserDataDirectory "ghcjs"
							 | 
						||
| 
								 | 
							
								-  return (appdir </> subdir </> "ghcjs")
							 | 
						||
| 
								 | 
							
								-      where
							 | 
						||
| 
								 | 
							
								-        targetARCH = arch
							 | 
						||
| 
								 | 
							
								-        targetOS   = os
							 | 
						||
| 
								 | 
							
								-        subdir     = targetARCH ++ '-':targetOS ++ '-':getFullCompilerVersion
							 | 
						||
| 
								 | 
							
								+getDefaultTopDir = return "@PREFIX@/lib/ghcjs-@VERSION@"
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								 getDefaultLibDir :: IO FilePath
							 | 
						||
| 
								 | 
							
								 getDefaultLibDir = getDefaultTopDir
							 |