Browse Source

[Makefile] use a proper default install location

close #5409

Our std lib is arch-independent, so it should not go to lib/.
Andy Li 8 years ago
parent
commit
a9ca4be338
3 changed files with 10 additions and 6 deletions
  1. 4 3
      Makefile
  2. 2 0
      extra/CHANGES.txt
  3. 4 3
      src/compiler/main.ml

+ 4 - 3
Makefile

@@ -10,10 +10,10 @@
 #
 .SUFFIXES : .ml .mli .cmo .cmi .cmx .mly
 
-INSTALL_DIR=$(DESTDIR)/usr
+INSTALL_DIR=$(DESTDIR)/usr/local
 INSTALL_BIN_DIR=$(INSTALL_DIR)/bin
 INSTALL_LIB_DIR=$(INSTALL_DIR)/lib/haxe
-INSTALL_STD_DIR=$(INSTALL_LIB_DIR)/std
+INSTALL_STD_DIR=$(INSTALL_DIR)/share/haxe/std
 PACKAGE_OUT_DIR=out
 PACKAGE_SRC_EXTENSION=.tar.gz
 
@@ -165,7 +165,8 @@ tools: haxelib
 install: uninstall
 	mkdir -p $(INSTALL_BIN_DIR)
 	mkdir -p $(INSTALL_LIB_DIR)/lib
-	cp -rf std $(INSTALL_STD_DIR)
+	mkdir -p $(INSTALL_STD_DIR)
+	cp -rf std/* $(INSTALL_STD_DIR)
 	cp -rf extra $(INSTALL_LIB_DIR)
 	cp haxe $(INSTALL_LIB_DIR)
 	ln -s $(INSTALL_LIB_DIR)/haxe $(INSTALL_BIN_DIR)/haxe

+ 2 - 0
extra/CHANGES.txt

@@ -6,6 +6,8 @@
 	cs : improved generation of enum classes (#6119)
 	sys : the `database` parameter of `Mysql.connect` is now optional
 	js : updated jQuery extern (js.jquery.*) for jQuery 1.12.4 / 3.2.1 support.
+	Makefile : default Unix installation location $(INSTALL_DIR) changed from /usr to /usr/local.
+	Makefile : default Unix std location $(INSTALL_STD_DIR) changed from $(INSTALL_LIB_DIR)/std to $(INSTALL_DIR)/share/haxe/std.
 
 	Removals:
 

+ 4 - 3
src/compiler/main.ml

@@ -363,11 +363,12 @@ let get_std_class_paths () =
 	with Not_found ->
 		if Sys.os_type = "Unix" then
 			[
-				"/usr/lib/haxe/std/";
-				"/usr/share/haxe/std/";
+				"/usr/local/share/haxe/std/";
 				"/usr/local/lib/haxe/std/";
-				"/usr/lib/haxe/extraLibs/";
 				"/usr/local/lib/haxe/extraLibs/";
+				"/usr/share/haxe/std/";
+				"/usr/lib/haxe/std/";
+				"/usr/lib/haxe/extraLibs/";
 				""
 			]
 		else