sdk/Build System: Improved the bootstrap Makefiles
authorJerome St-Louis <jerome@ecere.com>
Wed, 7 Nov 2012 02:12:51 +0000 (21:12 -0500)
committerJerome St-Louis <jerome@ecere.com>
Wed, 7 Nov 2012 02:12:51 +0000 (21:12 -0500)
- Renamed include.mk -> default.cf
- Moved eC compiler definitions into default.cf
- Updated the bootstrap Makefiles to be closer to generated Makefiles
- Updated the libecere bootstrap
- Fixed usage of $(if with -Wl, (comma confusion)
- Updated i18n templates

50 files changed:
Makefile
Makefiles.epj
compiler/Makefile
compiler/bootstrap/Makefile
compiler/bootstrap/ecc/Makefile
compiler/bootstrap/ecere/Makefile
compiler/bootstrap/ecere/bootstrap/instance.c
compiler/bootstrap/ecp/Makefile
compiler/bootstrap/ecs/Makefile
compiler/bootstrap/libec/Makefile
compiler/ecc/Makefile
compiler/ecc/Strapfile
compiler/ecc/ecc.epj
compiler/ecp/Makefile
compiler/ecp/Strapfile
compiler/ecp/ecp.epj
compiler/ecs/Makefile
compiler/ecs/Strapfile
compiler/ecs/ecs.epj
compiler/libec/Makefile
compiler/libec/Strapfile
compiler/libec/ec.epj
crossplatform.mk
default.cf [new file with mode: 0644]
deps/Makefile
deps/freetype-2.3.12/Makefile
deps/jpeg-6b/Makefile
deps/libffi-3.0.11/Makefile
deps/libpng-1.4.0/Makefile
deps/libungif-4.1.1/Makefile
deps/zlib/Makefile
documentor/Makefile
ear/Makefile
ear/cmd/Makefile
ear/extract/Makefile
ecere/Makefile
ecere/Makefile.ecereCOM
ecere/Makefile.vanilla
ecere/Strapfile
ecere/ecere.epj
ecere/locale/ecere.pot
eda/Makefile
eda/drivers/sqlite/Makefile
eda/drivers/sqliteCipher/Makefile
eda/libeda/Makefile
epj2make/Makefile
ide/Makefile
ide/locale/ide.pot
ide/src/project/Project.ec
include.mk [deleted file]

index 8f31bf4..4e887d0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,13 +2,9 @@
 .SILENT:
 
 include crossplatform.mk
-include include.mk
+include default.cf
 
-ifdef CROSS_TARGET
-XBOOT = GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM)
-else
-XBOOT =
-endif
+XBOOT := $(if $(CROSS_TARGET),GCC_PREFIX= TARGET_PLATFORM=$(HOST_PLATFORM) PLATFORM=$(HOST_PLATFORM),)
 
 LIBVER := .0.44
 
index c5301eb..61ce56b 100755 (executable)
@@ -9,6 +9,9 @@
          "ecere"
       ]
    },
+   "Configurations" : [
+
+   ],
    "Files" : [
       {
          "Folder" : "compiler",
             "ExcludeFromBuild" : true
          }
       },
-      {
-         "FileName" : "include.mk",
-         "Options" : {
-            "ExcludeFromBuild" : true
-         }
-      },
-      {
-         "FileName" : "Makefile",
-         "Options" : {
-            "ExcludeFromBuild" : true
-         }
-      }
+      "default.cf",
+      "Makefile"
    ],
    "ResourcesPath" : "",
    "Resources" : [
index 4b05a79..688d3a7 100644 (file)
@@ -5,7 +5,7 @@ CONFIG := release
 PRECOMPILED_SOURCES = libec/precompiled/expression.c libec/precompiled/grammar.c libec/precompiled/type.c
 
 include ../crossplatform.mk
-include ../include.mk
+include ../default.cf
 
 all: ecp ecc ecs
 
index 2ace96c..1e243a7 100644 (file)
@@ -4,7 +4,7 @@
 OBJ = obj/bin.$(PLATFORM)/
 
 include ../../crossplatform.mk
-include ../../include.mk
+include ../../default.cf
 
 all: bindir ecere libec ecp ecc ecs
        $(call cpq,ecp/obj/bootstrap.$(PLATFORM)/ecp$(E) ecc/obj/bootstrap.$(PLATFORM)/ecc$(E) ecs/obj/bootstrap.$(PLATFORM)/ecs$(E),$(OBJ))
index a7d4ea5..2453e5c 100644 (file)
@@ -1,19 +1,46 @@
 .PHONY: all objdir clean realclean distclean
 
-# CONTENT
+# CORE VARIABLES
 
 MODULE := ecc
 CONFIG := bootstrap
+ifndef COMPILER
 COMPILER := default
+endif
+
 TARGET_TYPE = executable
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+# FLAGS
 
-RES = 
+ECFLAGS =
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+endif
+CECFLAGS =
+OFLAGS =
+LDFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
 
-CONSOLE = 
+CONSOLE = -mconsole
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/ecc$(E)
+# INCLUDES
+
+_CF_DIR = ../../../
+
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
+
+# POST-INCLUDES VARIABLES
+
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
+
+RES = 
+
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecc$(E)
 
 OBJECTS = \
        $(OBJ)ecc.o \
@@ -23,54 +50,45 @@ SOURCES = \
        bootstrap/ecc.c \
        bootstrap/ecc.main.c
 
-ifndef DEBIAN_PACKAGE
-CFLAGS =
-endif
-OFLAGS =
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-# CROSS-PLATFORM MAGIC
-
-include ../../../crossplatform.mk
-include ../../../include.mk
+ifndef STATIC_LIBRARY_TARGET
+LIBS += \
+       $(call _L,ecereBootstrap) \
+       $(call _L,ecBootstrap)
+endif
 
-# FLAGS
+CFLAGS += \
+        $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+                        -DECERE_STATIC
 
-CFLAGS += -fmessage-length=0 -O2 -ffast-math $(FORCE_32_BIT) $(FPIC) -w \
-        -DECERE_STATIC
 
-CECFLAGS =
+ECFLAGS += \
+        -nolinenumbers
 
-ECFLAGS = -nolinenumbers
 
-OFLAGS += $(FORCE_32_BIT) \
-        -L../ecere/obj/bootstrap.$(PLATFORM) \
-        -L../libec/obj/bootstrap.$(PLATFORM)
-
-LIBS = -lecereBootstrap -lecBootstrap $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
-
-UPXFLAGS = -9 -q
+# PLATFORM-SPECIFIC OPTIONS
 
-# HARD CODED PLATFORM-SPECIFIC OPTIONS
 ifdef LINUX_TARGET
-OFLAGS += -Wl,--no-undefined
-endif
 
-# PLATFORM-SPECIFIC OPTIONS
-
-ifdef WINDOWS_TARGET
+ifndef STATIC_LIBRARY_TARGET
+LIBS += \
+       $(call _L,m) \
+       $(call _L,dl)
+endif
 
-else
-ifdef LINUX_TARGET
+endif
 
-LIBS += -lm -ldl
 
-else
-ifdef OSX_TARGET
 
-LIBS += -lm -ldl
+CECFLAGS += -cpp $(_CPP)
 
-endif
-endif
+ifndef STATIC_LIBRARY_TARGET
+OFLAGS += $(FORCE_32_BIT) \
+        -L../ecere/obj/bootstrap.$(PLATFORM) \
+        -L../libec/obj/bootstrap.$(PLATFORM)
+OFLAGS += $(LDFLAGS)
 endif
 
 # TARGETS
@@ -98,7 +116,7 @@ clean: objdir
        $(call rmq,$(TARGET))
        $(call rmq,$(OBJECTS))
 
-realclean:
+realclean: clean
        $(call rmrq,$(OBJ))
 
 distclean:
index 6404b8e..01984fa 100644 (file)
@@ -1,17 +1,46 @@
 .PHONY: all objdir clean realclean distclean
 
-# CONTENT
+# CORE VARIABLES
 
-MODULE := ecereBootstrap
+MODULE := ecere
 CONFIG := bootstrap
+ifndef COMPILER
 COMPILER := default
+endif
+
 TARGET_TYPE = staticlib
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+# FLAGS
+
+ECFLAGS =
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+endif
+CECFLAGS =
+OFLAGS =
+LDFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
+
+CONSOLE = -mwindows
+
+# INCLUDES
+
+_CF_DIR = ../../../
+
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
+
+# POST-INCLUDES VARIABLES
+
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = res/
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ecereBootstrap$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecereBootstrap$(A)
 
 OBJECTS = \
        $(OBJ)Array.o \
@@ -69,32 +98,27 @@ SOURCES = \
        ../../../ecere/src/sys/File.c \
        ../../../ecere/src/sys/System.c
 
-ifndef DEBIAN_PACKAGE
-CFLAGS =
-endif
-OFLAGS =
-
-# CROSS-PLATFORM MAGIC
-
-include ../../../crossplatform.mk
-include ../../../include.mk
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-# FLAGS
+ifndef STATIC_LIBRARY_TARGET
+LIBS +=
+endif
 
-CFLAGS += -fmessage-length=0 -O2 -ffast-math $(FORCE_32_BIT) $(FPIC) -w \
+CFLAGS += \
+        $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
         -DBUILDING_ECERE_COM -DECERE_STATIC -DECERE_BOOTSTRAP
+ECFLAGS += \
+        -nolinenumbers -defaultns ecere
 
-CECFLAGS =
 
-ECFLAGS = -defaultns ecere -nolinenumbers
 
-LIBS = $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-UPXFLAGS = -9 -q
+CECFLAGS += -cpp $(_CPP)
 
-# HARD CODED PLATFORM-SPECIFIC OPTIONS
-ifdef LINUX_TARGET
-OFLAGS += -Wl,--no-undefined
+ifndef STATIC_LIBRARY_TARGET
+OFLAGS += $(FORCE_32_BIT)
+OFLAGS += $(LDFLAGS)
 endif
 
 # TARGETS
@@ -107,48 +131,53 @@ objdir:
 $(TARGET): $(SOURCES) $(RESOURCES) | objdir $(SYMBOLS) $(OBJECTS)
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 
-$(OBJ)Array.o: bootstrap/Array.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/Array.c -o $(OBJ)Array.o
-
-$(OBJ)AVLTree.o: bootstrap/AVLTree.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/AVLTree.c -o $(OBJ)AVLTree.o
-
-$(OBJ)BinaryTree.o: bootstrap/BinaryTree.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/BinaryTree.c -o $(OBJ)BinaryTree.o
-
-$(OBJ)BTNode.o: bootstrap/BTNode.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/BTNode.c -o $(OBJ)BTNode.o
+# OBJECT RULES
 
 $(OBJ)BufferedFile.o: bootstrap/BufferedFile.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/BufferedFile.c -o $(OBJ)BufferedFile.o
 
-$(OBJ)BuiltInContainer.o: bootstrap/BuiltInContainer.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/BuiltInContainer.c -o $(OBJ)BuiltInContainer.o
+$(OBJ)DualPipe.o: bootstrap/DualPipe.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/DualPipe.c -o $(OBJ)DualPipe.o
 
-$(OBJ)Container.o: bootstrap/Container.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/Container.c -o $(OBJ)Container.o
+$(OBJ)File.o: bootstrap/File.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/File.c -o $(OBJ)File.o
 
-$(OBJ)CustomAVLTree.o: bootstrap/CustomAVLTree.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/CustomAVLTree.c -o $(OBJ)CustomAVLTree.o
+$(OBJ)memory.o: bootstrap/memory.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/memory.c -o $(OBJ)memory.o
 
-$(OBJ)dataTypes.o: bootstrap/dataTypes.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/dataTypes.c -o $(OBJ)dataTypes.o
+$(OBJ)System.o: bootstrap/System.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/System.c -o $(OBJ)System.o
 
-$(OBJ)DualPipe.o: bootstrap/DualPipe.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/DualPipe.c -o $(OBJ)DualPipe.o
+$(OBJ)TempFile.o: bootstrap/TempFile.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/TempFile.c -o $(OBJ)TempFile.o
 
-$(OBJ)ecere.main.o: bootstrap/ecere.main.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/ecere.main.c -o $(OBJ)ecere.main.o
+$(OBJ)File.c.o: ../../../ecere/src/sys/File.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c ../../../ecere/src/sys/File.c -o $(OBJ)File.c.o
 
-$(OBJ)File.o: bootstrap/File.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/File.c -o $(OBJ)File.o
+$(OBJ)DualPipe.c.o: ../../../ecere/src/sys/DualPipe.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c ../../../ecere/src/sys/DualPipe.c -o $(OBJ)DualPipe.c.o
 
-$(OBJ)instance.o: bootstrap/instance.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/instance.c -o $(OBJ)instance.o
+$(OBJ)System.c.o: ../../../ecere/src/sys/System.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c ../../../ecere/src/sys/System.c -o $(OBJ)System.c.o
 
 $(OBJ)i18n.o: bootstrap/i18n.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/i18n.c -o $(OBJ)i18n.o
 
+$(OBJ)Array.o: bootstrap/Array.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/Array.c -o $(OBJ)Array.o
+
+$(OBJ)AVLTree.o: bootstrap/AVLTree.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/AVLTree.c -o $(OBJ)AVLTree.o
+
+$(OBJ)BuiltInContainer.o: bootstrap/BuiltInContainer.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/BuiltInContainer.c -o $(OBJ)BuiltInContainer.o
+
+$(OBJ)Container.o: bootstrap/Container.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/Container.c -o $(OBJ)Container.o
+
+$(OBJ)CustomAVLTree.o: bootstrap/CustomAVLTree.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/CustomAVLTree.c -o $(OBJ)CustomAVLTree.o
+
 $(OBJ)LinkList.o: bootstrap/LinkList.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/LinkList.c -o $(OBJ)LinkList.o
 
@@ -158,38 +187,35 @@ $(OBJ)List.o: bootstrap/List.c
 $(OBJ)Map.o: bootstrap/Map.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/Map.c -o $(OBJ)Map.o
 
-$(OBJ)memory.o: bootstrap/memory.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/memory.c -o $(OBJ)memory.o
+$(OBJ)BinaryTree.o: bootstrap/BinaryTree.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/BinaryTree.c -o $(OBJ)BinaryTree.o
 
-$(OBJ)OldList.o: bootstrap/OldList.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/OldList.c -o $(OBJ)OldList.o
+$(OBJ)BTNode.o: bootstrap/BTNode.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/BTNode.c -o $(OBJ)BTNode.o
+
+$(OBJ)dataTypes.o: bootstrap/dataTypes.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/dataTypes.c -o $(OBJ)dataTypes.o
+
+$(OBJ)instance.o: bootstrap/instance.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/instance.c -o $(OBJ)instance.o
 
 $(OBJ)String.o: bootstrap/String.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/String.c -o $(OBJ)String.o
 
-$(OBJ)System.o: bootstrap/System.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/System.c -o $(OBJ)System.o
-
-$(OBJ)TempFile.o: bootstrap/TempFile.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/TempFile.c -o $(OBJ)TempFile.o
+$(OBJ)OldList.o: bootstrap/OldList.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/OldList.c -o $(OBJ)OldList.o
 
 $(OBJ)instance.c.o: ../../../ecere/src/com/instance.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c ../../../ecere/src/com/instance.c -o $(OBJ)instance.c.o
 
-$(OBJ)DualPipe.c.o: ../../../ecere/src/sys/DualPipe.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c ../../../ecere/src/sys/DualPipe.c -o $(OBJ)DualPipe.c.o
-
-$(OBJ)File.c.o: ../../../ecere/src/sys/File.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c ../../../ecere/src/sys/File.c -o $(OBJ)File.c.o
-
-$(OBJ)System.c.o: ../../../ecere/src/sys/System.c
-       $(CC) $(CFLAGS) $(FVISIBILITY) -c ../../../ecere/src/sys/System.c -o $(OBJ)System.c.o
+$(OBJ)$(MODULE).main$(O): bootstrap/$(MODULE).main.c
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/$(MODULE).main.c -o $(OBJ)$(MODULE).main$(O)
 
 clean: objdir
        $(call rmq,$(TARGET))
        $(call rmq,$(OBJECTS))
 
-realclean:
+realclean: clean
        $(call rmrq,$(OBJ))
 
 distclean:
index 6f077ba..919cc48 100644 (file)
@@ -3371,13 +3371,13 @@ break;
 return (((void *)0));
 }
 
-static unsigned int __ecereNameSpace__ecere__com__ConstructInstance(void * instance, struct __ecereNameSpace__ecere__com__Class * _class)
+static unsigned int __ecereNameSpace__ecere__com__ConstructInstance(void * instance, struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from)
 {
 if(_class->templateClass)
 _class = _class->templateClass;
-if(_class->base)
+if(_class->base && from != _class->base)
 {
-if(!__ecereNameSpace__ecere__com__ConstructInstance(instance, _class->base))
+if(!__ecereNameSpace__ecere__com__ConstructInstance(instance, _class->base, from))
 return 0x0;
 }
 if(_class->Initialize)
@@ -3417,7 +3417,7 @@ if(_class->type == 0)
 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class = _class;
 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_vTbl = _class->_vTbl;
 }
-if(!__ecereNameSpace__ecere__com__ConstructInstance(instance, _class))
+if(!__ecereNameSpace__ecere__com__ConstructInstance(instance, _class, (((void *)0))))
 {
 __ecereNameSpace__ecere__com___free(instance);
 instance = (((void *)0));
@@ -3430,11 +3430,13 @@ void __ecereNameSpace__ecere__com__eInstance_Evolve(struct __ecereNameSpace__ece
 {
 if(_class && instancePtr && *instancePtr)
 {
+unsigned int wasApp = 0x0, wasGuiApp = 0x0;
 struct __ecereNameSpace__ecere__com__Instance * instance = (struct __ecereNameSpace__ecere__com__Instance *)__ecereNameSpace__ecere__com__eSystem_Renew(*instancePtr, sizeof(unsigned char) * (_class->structSize));
+struct __ecereNameSpace__ecere__com__Class * fromClass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class;
 
 *instancePtr = instance;
 memset(((unsigned char *)instance) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class->structSize, (unsigned char)0, _class->structSize - ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class->structSize);
-if(!strcmp(((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class->name, "Application"))
+if((wasApp = !strcmp(((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class->name, "Application")) || (wasGuiApp = !strcmp(((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class->name, "GuiApplication")))
 {
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__Instance * app = (struct __ecereNameSpace__ecere__com__Instance *)instance;
@@ -3512,6 +3514,21 @@ struct __ecereNameSpace__ecere__com__Class * template = templateLink->data;
 template->module = _class->module;
 }
 }
+for(module = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)app + 300)))->allModules.first; module; module = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->next)
+{
+for(_class = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->classes.first; _class; _class = _class->next)
+{
+struct __ecereNameSpace__ecere__sys__OldLink * templateLink;
+
+_class->module = module;
+for(templateLink = _class->templatized.first; templateLink; templateLink = templateLink->next)
+{
+struct __ecereNameSpace__ecere__com__Class * template = templateLink->data;
+
+template->module = _class->module;
+}
+}
+}
 ((struct __ecereNameSpace__ecere__com__Module *)(((char *)app + 12)))->application = app;
 }
 {
@@ -3522,7 +3539,7 @@ for(base = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->
 }
 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_class = _class;
 ((struct __ecereNameSpace__ecere__com__Instance *)(char *)instance)->_vTbl = _class->_vTbl;
-if(!__ecereNameSpace__ecere__com__ConstructInstance(instance, _class))
+if(!__ecereNameSpace__ecere__com__ConstructInstance(instance, _class, fromClass))
 {
 __ecereNameSpace__ecere__com___free(instance);
 *instancePtr = (((void *)0));
@@ -5076,6 +5093,8 @@ struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com____
 {
 struct __ecereNameSpace__ecere__com__Instance * app;
 
+__ecereNameSpace__ecere__com__memoryInitialized = 0x0;
+__ecereNameSpace__ecere__com__pools = (((void *)0));
 app = __ecereNameSpace__ecere__com___calloc(1, 428);
 __ecereNameSpace__ecere__com__Module_Constructor(app);
 ((struct __ecereNameSpace__ecere__com__Application *)(((char *)app + 300)))->systemNameSpace.classes.CompareKey = (void *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString;
index f33719f..721706f 100644 (file)
@@ -1,19 +1,46 @@
 .PHONY: all objdir clean realclean distclean
 
-# CONTENT
+# CORE VARIABLES
 
 MODULE := ecp
 CONFIG := bootstrap
+ifndef COMPILER
 COMPILER := default
+endif
+
 TARGET_TYPE = executable
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+# FLAGS
 
-RES = 
+ECFLAGS =
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+endif
+CECFLAGS =
+OFLAGS =
+LDFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
+
+CONSOLE = -mconsole
 
-CONSOLE = 
+# INCLUDES
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/ecp$(E)
+_CF_DIR = ../../../
+
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
+
+# POST-INCLUDES VARIABLES
+
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
+
+RES = 
+
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecp$(E)
 
 OBJECTS = \
        $(OBJ)ecp.o \
@@ -23,55 +50,47 @@ SOURCES = \
        bootstrap/ecp.c \
        bootstrap/ecp.main.c
 
-ifndef DEBIAN_PACKAGE
-CFLAGS =
-endif
-OFLAGS =
-
-# CROSS-PLATFORM MAGIC
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-include ../../../crossplatform.mk
-include ../../../include.mk
-
-# FLAGS
+ifndef STATIC_LIBRARY_TARGET
+LIBS += \
+       $(call _L,ecereBootstrap) \
+       $(call _L,ecBootstrap)
+endif
 
-CFLAGS += -fmessage-length=0 -O2 -ffast-math $(FORCE_32_BIT) $(FPIC) -w \
+CFLAGS += \
+        $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
         -DECERE_STATIC
 
-CECFLAGS =
 
-ECFLAGS = -nolinenumbers
+ECFLAGS += \
+        -nolinenumbers
 
-OFLAGS += $(FORCE_32_BIT) \
-        -L../ecere/obj/bootstrap.$(PLATFORM) \
-        -L../libec/obj/bootstrap.$(PLATFORM)
-
-LIBS = -lecereBootstrap -lecBootstrap $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-UPXFLAGS = -9 -q
+# PLATFORM-SPECIFIC OPTIONS
 
-# HARD CODED PLATFORM-SPECIFIC OPTIONS
 ifdef LINUX_TARGET
-OFLAGS += -Wl,--no-undefined
-endif
-
-# PLATFORM-SPECIFIC OPTIONS
 
-ifdef WINDOWS_TARGET
+ifndef STATIC_LIBRARY_TARGET
+LIBS += \
+       $(call _L,m) \
+       $(call _L,dl)
+endif
 
-else
-ifdef LINUX_TARGET
+endif
 
-LIBS += -lm -ldl
 
-else
-ifdef OSX_TARGET
 
-LIBS += -lm -ldl
+CECFLAGS += -cpp $(_CPP)
 
+ifndef STATIC_LIBRARY_TARGET
+OFLAGS += $(FORCE_32_BIT) \
+        -L../ecere/obj/bootstrap.$(PLATFORM) \
+        -L../libec/obj/bootstrap.$(PLATFORM)
+OFLAGS += $(LDFLAGS)
 endif
-endif
-endif
+
 # TARGETS
 
 all: objdir $(TARGET)
@@ -85,6 +104,8 @@ ifndef NOSTRIP
        $(STRIP) $(STRIPOPT) $(TARGET)
 endif
 
+# OBJECT RULES
+
 $(OBJ)ecp.o: bootstrap/ecp.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/ecp.c -o $(OBJ)ecp.o
 
@@ -95,7 +116,7 @@ clean: objdir
        $(call rmq,$(TARGET))
        $(call rmq,$(OBJECTS))
 
-realclean:
+realclean: clean
        $(call rmrq,$(OBJ))
 
 distclean:
index df9c927..a5b0ad0 100644 (file)
@@ -1,19 +1,46 @@
 .PHONY: all objdir clean realclean distclean
 
-# CONTENT
+# CORE VARIABLES
 
 MODULE := ecs
 CONFIG := bootstrap
+ifndef COMPILER
 COMPILER := default
+endif
+
 TARGET_TYPE = executable
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+# FLAGS
 
-RES = 
+ECFLAGS =
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+endif
+CECFLAGS =
+OFLAGS =
+LDFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
 
-CONSOLE = 
+CONSOLE = -mconsole
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/ecs$(E)
+# INCLUDES
+
+_CF_DIR = ../../../
+
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
+
+# POST-INCLUDES VARIABLES
+
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
+
+RES = 
+
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/ecs$(E)
 
 OBJECTS = \
        $(OBJ)ecs.o \
@@ -23,54 +50,45 @@ SOURCES = \
        bootstrap/ecs.c \
        bootstrap/ecs.main.c
 
-ifndef DEBIAN_PACKAGE
-CFLAGS =
-endif
-OFLAGS =
-
-# CROSS-PLATFORM MAGIC
-
-include ../../../crossplatform.mk
-include ../../../include.mk
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-# FLAGS
+ifndef STATIC_LIBRARY_TARGET
+LIBS += \
+       $(call _L,ecereBootstrap) \
+       $(call _L,ecBootstrap)
+endif
 
-CFLAGS += -fmessage-length=0 -O2 -ffast-math $(FORCE_32_BIT) $(FPIC) -w \
+CFLAGS += \
+        $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
         -DECERE_STATIC
 
-CECFLAGS =
 
-ECFLAGS = -nolinenumbers
+ECFLAGS += \
+        -nolinenumbers
 
-OFLAGS += $(FORCE_32_BIT) \
-        -L../ecere/obj/bootstrap.$(PLATFORM) \
-        -L../libec/obj/bootstrap.$(PLATFORM)
-
-LIBS = -lecereBootstrap -lecBootstrap $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-UPXFLAGS = -9 -q
+# PLATFORM-SPECIFIC OPTIONS
 
-# HARD CODED PLATFORM-SPECIFIC OPTIONS
 ifdef LINUX_TARGET
-OFLAGS += -Wl,--no-undefined
-endif
 
-# PLATFORM-SPECIFIC OPTIONS
-
-ifdef WINDOWS_TARGET
+ifndef STATIC_LIBRARY_TARGET
+LIBS += \
+       $(call _L,m) \
+       $(call _L,dl)
+endif
 
-else
-ifdef LINUX_TARGET
+endif
 
-LIBS += -lm -ldl
 
-else
-ifdef OSX_TARGET
 
-LIBS += -lm -ldl
+CECFLAGS += -cpp $(_CPP)
 
-endif
-endif
+ifndef STATIC_LIBRARY_TARGET
+OFLAGS += $(FORCE_32_BIT) \
+        -L../ecere/obj/bootstrap.$(PLATFORM) \
+        -L../libec/obj/bootstrap.$(PLATFORM)
+OFLAGS += $(LDFLAGS)
 endif
 
 # TARGETS
@@ -86,17 +104,19 @@ ifndef NOSTRIP
        $(STRIP) $(STRIPOPT) $(TARGET)
 endif
 
+# OBJECT RULES
+
 $(OBJ)ecs.o: bootstrap/ecs.c
-       $(CC) $(CFLAGS) -c bootstrap/ecs.c -o $(OBJ)ecs.o
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/ecs.c -o $(OBJ)ecs.o
 
 $(OBJ)ecs.main.o: bootstrap/ecs.main.c
-       $(CC) $(CFLAGS) -c bootstrap/ecs.main.c -o $(OBJ)ecs.main.o
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/ecs.main.c -o $(OBJ)ecs.main.o
 
 clean: objdir
        $(call rmq,$(TARGET))
        $(call rmq,$(OBJECTS))
 
-realclean:
+realclean: clean
        $(call rmrq,$(OBJ))
 
 distclean:
index 5707e88..e07a106 100644 (file)
@@ -1,17 +1,46 @@
 .PHONY: all objdir clean realclean distclean
 
-# CONTENT
+# CORE VARIABLES
 
 MODULE := ec
 CONFIG := bootstrap
+ifndef COMPILER
 COMPILER := default
+endif
+
 TARGET_TYPE = staticlib
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+# FLAGS
+
+ECFLAGS =
+ifndef DEBIAN_PACKAGE
+CFLAGS =
+endif
+CECFLAGS =
+OFLAGS =
+LDFLAGS =
+LIBS =
+
+ifdef DEBUG
+NOSTRIP := y
+endif
+
+CONSOLE = -mwindows
+
+# INCLUDES
+
+_CF_DIR = ../../../
+
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
+
+# POST-INCLUDES VARIABLES
+
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = 
 
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ecBootstrap$(A)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecBootstrap$(A)
 
 OBJECTS = \
        $(OBJ)ast.o \
@@ -59,28 +88,28 @@ SOURCES = \
        bootstrap/type.c \
        ../bsl.c
 
-ifndef DEBIAN_PACKAGE
-CFLAGS =
-endif
-OFLAGS =
+LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
 
-# CROSS-PLATFORM MAGIC
-
-include ../../../crossplatform.mk
-include ../../../include.mk
+ifndef STATIC_LIBRARY_TARGET
+LIBS +=
+endif
 
-# FLAGS
+CFLAGS += \
+        $(if $(DEBIAN_PACKAGE),$(CPPFLAGS),) $(if $(DEBUG), -D_DEBUG,) \
+        $(if $(DEBUG), -g, -O2 -ffast-math) $(FORCE_32_BIT) $(FPIC) -w \
+                        -DECERE_STATIC
+ECFLAGS += \
+        -nolinenumbers
 
-CFLAGS += -fmessage-length=0 -O2 -ffast-math $(FORCE_32_BIT) $(FPIC) -w \
-        -DYYTOKENTYPE -DECERE_STATIC
 
-CECFLAGS =
 
-ECFLAGS = -nolinenumbers
 
-LIBS = $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
+CECFLAGS += -cpp $(_CPP)
 
-UPXFLAGS = -9 -q
+ifndef STATIC_LIBRARY_TARGET
+OFLAGS += $(FORCE_32_BIT)
+OFLAGS += $(LDFLAGS)
+endif
 
 # TARGETS
 
@@ -92,6 +121,8 @@ objdir:
 $(TARGET): $(SOURCES) $(RESOURCES) | objdir $(SYMBOLS) $(OBJECTS)
        $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
 
+# OBJECT RULES
+
 $(OBJ)ast.o: bootstrap/ast.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c bootstrap/ast.c -o $(OBJ)ast.o
 
@@ -159,7 +190,7 @@ clean: objdir
        $(call rmq,$(TARGET))
        $(call rmq,$(OBJECTS))
 
-realclean:
+realclean: clean
        $(call rmrq,$(OBJ))
 
 distclean:
index 5ffb450..28cd00b 100755 (executable)
@@ -30,20 +30,10 @@ CONSOLE = -mconsole
 # INCLUDES
 
 _CF_DIR = ../../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index f452c22..7181269 100644 (file)
@@ -16,7 +16,7 @@ TARGET = $(OBJ)$(MODULE).main.c
 
 # CROSS-PLATFORM MAGIC
 
-include ../../include.mk
+include ../../default.cf
 
 COBJECTS = $(OBJ)ecc.c
 
index 40348fe..5134812 100644 (file)
@@ -5,8 +5,6 @@
       "Warnings" : "All",
       "TargetType" : "Executable",
       "TargetFileName" : "ecc",
-      "TargetDirectory" : "obj/$(CONFIG).$(PLATFORM)",
-      "ObjectsDirectory" : "obj/$(CONFIG).$(PLATFORM)",
       "Console" : true
    },
    "Configurations" : [
index 6c7829c..c345271 100755 (executable)
@@ -30,20 +30,10 @@ CONSOLE = -mconsole
 # INCLUDES
 
 _CF_DIR = ../../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 7629676..1c70382 100644 (file)
@@ -18,7 +18,7 @@ TARGET = $(OBJ)$(MODULE).main.c
 
 # CROSS-PLATFORM MAGIC
 
-include ../../include.mk
+include ../../default.cf
 
 COBJECTS = $(OBJ)ecp.c
 
index 3086cea..1d98e7b 100644 (file)
@@ -5,8 +5,6 @@
       "Warnings" : "All",
       "TargetType" : "Executable",
       "TargetFileName" : "ecp",
-      "TargetDirectory" : "obj/$(CONFIG).$(PLATFORM)",
-      "ObjectsDirectory" : "obj/$(CONFIG).$(PLATFORM)",
       "Console" : true
    },
    "Configurations" : [
index d3f113a..e172be5 100755 (executable)
@@ -30,20 +30,10 @@ CONSOLE = -mconsole
 # INCLUDES
 
 _CF_DIR = ../../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 192c9d7..eb22352 100644 (file)
@@ -16,7 +16,7 @@ TARGET = $(OBJ)$(MODULE).main.c
 
 # CROSS-PLATFORM MAGIC
 
-include ../../include.mk
+include ../../default.cf
 
 SYMBOLS = $(OBJ)ecs.sym
 
index d88e0de..7972c04 100644 (file)
@@ -5,8 +5,6 @@
       "Warnings" : "All",
       "TargetType" : "Executable",
       "TargetFileName" : "ecs",
-      "TargetDirectory" : "obj/$(CONFIG).$(PLATFORM)",
-      "ObjectsDirectory" : "obj/$(CONFIG).$(PLATFORM)",
       "Console" : true
    },
    "Configurations" : [
index e95cf9b..11bd731 100755 (executable)
@@ -31,29 +31,14 @@ CONSOLE = -mwindows
 # INCLUDES
 
 _CF_DIR = ../../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-ifndef WINDOWS_TARGET
-export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-endif
-ECP := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# BSL CFLAGS
-BSL_CFLAGS = -fmessage-length=0 -O2 -ffast-math $(FORCE_32_BIT) $(FPIC) -w
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
-OBJ = obj/$(CONFIG).$(PLATFORM)/
+OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/
 
 RES = 
 
@@ -61,7 +46,7 @@ ifdef LINUX_TARGET
 TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ec$(SO).0.44
 SONAME = -Wl,-soname,libec.so.0
 else
-TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)ec$(SO)
+TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ec$(SO)
 SONAME =
 endif
 
@@ -150,7 +135,7 @@ objdir:
        $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
 
 $(OBJ)$(MODULE).main.ec: $(SYMBOLS) $(COBJECTS)
-       $(ECS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM) -o $(OBJ)$(MODULE).main.ec
+       $(ECS) $(ECSLIBOPT) $(SYMBOLS) $(IMPORTS) -symbols obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX) -o $(OBJ)$(MODULE).main.ec
 
 $(OBJ)$(MODULE).main.c: $(OBJ)$(MODULE).main.ec
        $(ECP) $(CECFLAGS) $(ECFLAGS) $(CFLAGS) -c $(OBJ)$(MODULE).main.ec -o $(OBJ)$(MODULE).main.sym -symbols $(OBJ)
@@ -255,7 +240,7 @@ $(OBJ)ecdefs.c: src/ecdefs.ec $(OBJ)ecdefs.sym | $(SYMBOLS)
 
 # $(OBJ)expression.sym dependency removed
 $(OBJ)expression.c: src/expression.ec | $(SYMBOLS)
-       $(ECC) $(CECFLAGS) $(ECFLAGS) $(CUSTOM1_CFLAGS) $(FVISIBILITY) -c src/expression.ec -o $(OBJ)expression.c -symbols $(OBJ)
+       $(ECC) $(CECFLAGS) $(CFLAGS) $(CFLAGS) $(FVISIBILITY) -c src/expression.ec -o $(OBJ)expression.c -symbols $(OBJ)
 
 $(OBJ)firstPass.c: src/firstPass.ec $(OBJ)firstPass.sym | $(SYMBOLS)
        $(ECC) $(CECFLAGS) $(ECFLAGS) $(CUSTOM1_CFLAGS) $(FVISIBILITY) -c src/firstPass.ec -o $(OBJ)firstPass.c -symbols $(OBJ)
@@ -361,7 +346,7 @@ $(OBJ)type.o: $(OBJ)type.c
        $(CC) $(CUSTOM1_CFLAGS) $(FVISIBILITY) -c $(OBJ)type.c -o $(OBJ)type.o
 
 $(OBJ)bsl.o: ../bootstrap/bsl.c
-       $(CC) $(CFLAGS) -c ../bootstrap/bsl.c -o $(OBJ)bsl.o
+       $(CC) $(CFLAGS) $(FVISIBILITY) -c ../bootstrap/bsl.c -o $(OBJ)bsl.o
 
 $(OBJ)$(MODULE).main$(O): $(OBJ)$(MODULE).main.c
        $(CC) $(CFLAGS) $(FVISIBILITY) -c $(OBJ)$(MODULE).main.c -o $(OBJ)$(MODULE).main$(O)
index b34ad4d..820d249 100644 (file)
@@ -16,7 +16,7 @@ TARGET = $(OBJ)$(MODULE).main.c
 
 # CROSS-PLATFORM MAGIC
 
-include ../../include.mk
+include ../../default.cf
 
 COBJECTS = $(OBJ)ast.c $(OBJ)copy.c $(OBJ)dbpass.c $(OBJ)ecdefs.c $(OBJ)expression.c \
        $(OBJ)firstPass.c $(OBJ)freeAst.c $(OBJ)grammar.c $(OBJ)lexer.c $(OBJ)loadSymbols.c \
index 6548d51..0b80abf 100644 (file)
@@ -5,8 +5,6 @@
       "Warnings" : "All",
       "TargetType" : "SharedLibrary",
       "TargetFileName" : "ec",
-      "TargetDirectory" : "obj/$(CONFIG).$(PLATFORM)",
-      "ObjectsDirectory" : "obj/$(CONFIG).$(PLATFORM)",
       "Libraries" : [
          "ecere"
       ]
@@ -80,9 +78,6 @@
             "PreprocessorDefinitions" : [
                "ECERE_STATIC"
             ],
-            "IncludeDirs" : [
-               "../bootstrap/include"
-            ],
             "TargetType" : "StaticLibrary",
             "TargetFileName" : "ecBootstrap",
             "Libraries" : [
index 318c4eb..d9b6613 100755 (executable)
@@ -104,6 +104,7 @@ endif
 # MISC STRING TOOLS
 empty :=
 space := $(empty) $(empty)
+comma := ,
 escspace = $(subst $(space),\$(space),$(subst \$(space),$(space),$1))
 hidspace = $(subst $(space),\7f,$(subst \$(space),\7f,$1))
 shwspace = $(subst \7f,\$(space),$1)
diff --git a/default.cf b/default.cf
new file mode 100644 (file)
index 0000000..2b5b4a9
--- /dev/null
@@ -0,0 +1,39 @@
+EC_BINS := $(_CF_DIR)$(if $(USE_BOOTSTRAP),compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/,obj/$(HOST_PLATFORM)/bin/)
+
+# TOOLCHAIN
+export CC      = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)
+export CPP     = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)cpp$(_SYSROOT)
+export AS      = $(GCC_PREFIX)as
+export LD      = $(GCC_PREFIX)ld
+export AR      = $(GCC_PREFIX)ar
+export STRIP   = $(GCC_PREFIX)strip
+export ECP := $(call psep,$(EC_BINS)ecp$(HOST_E))
+export ECC := $(call psep,$(EC_BINS)ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
+export ECS := $(call psep,$(EC_BINS)ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
+export EAR := $(call psep,$(_CF_DIR)obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
+UPX := upx
+
+ifndef WINDOWS_TARGET
+export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
+export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
+endif
+
+ifeq "$(HOST_ARCH)" "ARM"
+FORCE_64_BIT =
+FORCE_32_BIT =
+else
+FORCE_64_BIT = -m64
+FORCE_32_BIT = -m32
+endif
+
+# HARD CODED PLATFORM-SPECIFIC OPTIONS
+LDFLAGS +=$(if $(LINUX_TARGET), -Wl$(comma)--no-undefined,)
+LDFLAGS +=$(if $(OSX_TARGET), -framework cocoa -framework OpenGL,)
+
+# FLAGS
+
+UPXFLAGS = -9 -q
+
+CFLAGS += -fmessage-length=0
+
+EARFLAGS = awq
index 3c8ba7e..6280b01 100644 (file)
@@ -4,7 +4,7 @@
 # CROSS-PLATFORM MAGIC
 
 include ../crossplatform.mk
-include ../include.mk
+include ../default.cf
 
 ifdef WINDOWS_TARGET
 all: freetype jpeg png gif ffi z
index da027f0..d59ba40 100755 (executable)
@@ -32,7 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 42d58a4..1e53e3d 100755 (executable)
@@ -32,7 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index a959af0..609f6cb 100755 (executable)
@@ -32,7 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 6fd9afc..4054924 100755 (executable)
@@ -32,7 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 782d395..a2bbfb0 100755 (executable)
@@ -32,7 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 2084086..5695d86 100755 (executable)
@@ -32,7 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 4112697..4470310 100755 (executable)
@@ -32,18 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-export DYLD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-ECP := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecp$(HOST_E))
-ECC := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index f5e040b..7638afd 100644 (file)
@@ -4,7 +4,7 @@
 # CROSS-PLATFORM MAGIC
 
 include ../crossplatform.mk
-include ../include.mk
+include ../default.cf
 
 all:
        @$(call echo,Building self-extract tool...)
index d8f5ed6..cc782fa 100755 (executable)
@@ -30,20 +30,10 @@ CONSOLE = -mconsole
 # INCLUDES
 
 _CF_DIR = ../../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index e6d012a..02c1694 100755 (executable)
@@ -30,20 +30,10 @@ CONSOLE = -mwindows
 # INCLUDES
 
 _CF_DIR = ../../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index d3a9e9a..b59721b 100755 (executable)
@@ -30,20 +30,10 @@ CONSOLE = -mwindows
 # INCLUDES
 
 _CF_DIR = ../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-export DYLD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-ECP := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 59ff32f..755ddf6 100755 (executable)
@@ -30,18 +30,10 @@ CONSOLE = -mwindows
 # INCLUDES
 
 _CF_DIR = ../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-ECP := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index e3db107..1d1e7e6 100755 (executable)
@@ -30,18 +30,10 @@ CONSOLE = -mwindows
 # INCLUDES
 
 _CF_DIR = ../
+USE_BOOTSTRAP := defined
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-ECP := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecp$(HOST_E))
-ECC := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../compiler/bootstrap/obj/bin.$(HOST_PLATFORM)/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 4167c29..057dbf1 100644 (file)
@@ -14,7 +14,7 @@ TARGET = $(OBJ)$(MODULE).main.c
 
 # CROSS-PLATFORM MAGIC
 
-include ../include.mk
+include ../default.cf
 
 OBJECTS = $(OBJ)BufferedFile.o $(OBJ)DualPipe.o $(OBJ)File.o $(OBJ)memory.o \
        $(OBJ)System.o $(OBJ)TempFile.o $(OBJ)_File.o $(OBJ)_DualPipe.o $(OBJ)_System.o $(OBJ)Array.o \
index 0e59b4e..35f2757 100644 (file)
                                  "Options" : {
                                     "ExcludeFromBuild" : true
                                  }
+                              },
+                              {
+                                 "Name" : "Bootstrap",
+                                 "Platforms" : [
+                                    {
+                                       "Name" : "apple",
+                                       "Options" : {
+                                          "ExcludeFromBuild" : true
+                                       }
+                                    }
+                                 ]
                               }
                            ]
                         },
                                     "ExcludeFromBuild" : false
                                  }
                               }
+                           ],
+                           "Configurations" : [
+                              {
+                                 "Name" : "Bootstrap",
+                                 "Platforms" : [
+                                    {
+                                       "Name" : "apple",
+                                       "Options" : {
+                                          "ExcludeFromBuild" : true
+                                       }
+                                    }
+                                 ]
+                              }
                            ]
                         },
                         {
             "clean.png",
             "docSave.png",
             "docNew.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
             "namespace.png",
             "property.png",
             "propertyPrivate.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
             "scrollBarHorizontal.png",
             "scrollBarVertical.png",
             "statusBar.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
             "sizeNortEastSouthWest.png",
             "sizeNorthSouth.png",
             "sizeNortWestSouthEast.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
             "driveRemovableMedia.png",
             "mediaFloppy.png",
             "mediaOptical.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
             "orderAscending.png",
             "orderCategorized.png",
             "orderDescending.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
          "Folder" : "emblems",
          "Files" : [
             "unreadable.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
             "textEcereWorkspace.png",
             "textHyperTextMarkup.png",
             "brokenFile.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
             "networkServer.png",
             "networkWorkgroup.png",
             "brokenFolder.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
          "Files" : [
             "audioVolumeHigh.png",
             "folderOpen.png"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
          "Folder" : "unicode",
          "Files" : [
             "derivedGeneralCategoryStripped.txt"
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
                   }
                ]
             }
+         ],
+         "Configurations" : [
+            {
+               "Name" : "Bootstrap",
+               "Options" : {
+                  "ExcludeFromBuild" : true
+               }
+            }
          ]
       },
       {
index cd7e69e..cd04079 100644 (file)
@@ -286,11 +286,11 @@ msgstr "Document"
 msgid "Down"
 msgstr "Down"
 
-#: ./src/gui/GuiApplication.ec:99
+#: ./src/gui/GuiApplication.ec:100
 msgid "Driver/Mode switch failed"
 msgstr "Driver/Mode switch failed"
 
-#: ./src/gui/GuiApplication.ec:195
+#: ./src/gui/GuiApplication.ec:196
 msgid "ECERE Application"
 msgstr "ECERE Application"
 
@@ -302,7 +302,7 @@ msgstr "Edit"
 msgid "Entire Computer"
 msgstr "Entire Computer"
 
-#: ./src/gui/GuiApplication.ec:1260
+#: ./src/gui/GuiApplication.ec:1263
 msgid "Error falling back to previous video mode.\n"
 msgstr "Error falling back to previous video mode.\n"
 
@@ -394,7 +394,7 @@ msgstr "Go To Line..."
 msgid "Go To...\tCtrl+G"
 msgstr "Go To...\tCtrl+G"
 
-#: ./src/gui/GuiApplication.ec:95
+#: ./src/gui/GuiApplication.ec:96
 msgid "Graphics driver not supported by any user interface system"
 msgstr "Graphics driver not supported by any user interface system"
 
@@ -538,7 +538,7 @@ msgid "No"
 msgstr "No"
 
 #: ./src/sys/System.ec:106
-#: ./src/gui/GuiApplication.ec:94
+#: ./src/gui/GuiApplication.ec:95
 msgid "No error"
 msgstr "No error"
 
@@ -851,11 +851,11 @@ msgstr "Whole word only"
 msgid "Window Style"
 msgstr "Window Style"
 
-#: ./src/gui/GuiApplication.ec:96
+#: ./src/gui/GuiApplication.ec:97
 msgid "Window creation failed"
 msgstr "Window creation failed"
 
-#: ./src/gui/GuiApplication.ec:97
+#: ./src/gui/GuiApplication.ec:98
 msgid "Window graphics loading failed"
 msgstr "Window graphics loading failed"
 
index 5353116..1261135 100644 (file)
@@ -3,8 +3,10 @@
 
 # CROSS-PLATFORM MAGIC
 
-include ../crossplatform.mk
-include ../include.mk
+_CF_DIR = ../
+
+include $(_CF_DIR)crossplatform.mk
+include $(_CF_DIR)default.cf
 
 all:
        @$(call echo,Building Ecere Data Access layer...)
index 36d8cd6..7ae5d9f 100755 (executable)
@@ -32,18 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ecp$(HOST_E))
-ECC := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index d8bc1de..bf93b6f 100755 (executable)
@@ -32,18 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ecp$(HOST_E))
-ECC := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 05d0192..d43b8c7 100755 (executable)
@@ -32,18 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-export DYLD_LIBRARY_PATH = ../../obj/$(HOST_PLATFORM)/lib/
-ECP := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ecp$(HOST_E))
-ECC := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index d7fb102..b91c32d 100755 (executable)
@@ -32,18 +32,7 @@ CONSOLE = -mconsole
 _CF_DIR = ../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-export DYLD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-ECP := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecp$(HOST_E))
-ECC := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index f4df8fa..ea6165e 100755 (executable)
@@ -32,18 +32,7 @@ CONSOLE = -mwindows
 _CF_DIR = ../
 
 include $(_CF_DIR)crossplatform.mk
-include $(_CF_DIR)include.mk
-
-# CUSTOM TOOLCHAIN / COMPILER CONFIG
-
-export LD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-export DYLD_LIBRARY_PATH=../obj/$(HOST_PLATFORM)/lib
-ECP := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecp$(HOST_E))
-ECC := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecc$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-ECS := $(call psep,../obj/$(HOST_PLATFORM)/bin/ecs$(HOST_E))$(if $(CROSS_TARGET), -t $(TARGET_PLATFORM),)
-EAR := $(call psep,../obj/$(HOST_PLATFORM)/bin/ear$(HOST_E))
-
-# END OF CUSTOM TOOLCHAIN / COMPILER CONFIG
+include $(_CF_DIR)default.cf
 
 # POST-INCLUDES VARIABLES
 
index 2b2e81b..c08c409 100644 (file)
@@ -10,7 +10,7 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-Basepath: ../\n"
 
-#: ./src/project/Project.ec:1392
+#: ./src/project/Project.ec:1422
 msgid "   %s: No such file or directory\n"
 msgstr "   %s: No such file or directory\n"
 
@@ -18,7 +18,7 @@ msgstr "   %s: No such file or directory\n"
 msgid " Compiler Configuration"
 msgstr " Compiler Configuration"
 
-#: ./src/ProjectSettings.ec:1300
+#: ./src/ProjectSettings.ec:1354
 msgid " Configuration"
 msgstr " Configuration"
 
@@ -46,7 +46,7 @@ msgstr " before search was aborted"
 msgid " compiler configuration?"
 msgstr " compiler configuration?"
 
-#: ./src/ProjectSettings.ec:1301
+#: ./src/ProjectSettings.ec:1355
 msgid " configuration?"
 msgstr " configuration?"
 
@@ -54,7 +54,7 @@ msgstr " configuration?"
 msgid " file is not part of any project.\n"
 msgstr " file is not part of any project.\n"
 
-#: ./src/project/ProjectView.ec:1770
+#: ./src/project/ProjectView.ec:1798
 msgid " was "
 msgstr " was "
 
@@ -66,11 +66,11 @@ msgstr " with exit code %s"
 msgid " with file name matching \"%s\""
 msgstr " with file name matching \"%s\""
 
-#: ./src/project/ProjectView.ec:637
+#: ./src/project/ProjectView.ec:647
 msgid "%s - %s%smakefile for %s config...\n"
 msgstr "%s - %s%smakefile for %s config...\n"
 
-#: ./src/project/ProjectView.ec:556
+#: ./src/project/ProjectView.ec:566
 msgid "%s Compiler\n"
 msgstr "%s Compiler\n"
 
@@ -118,7 +118,7 @@ msgstr "%s search did not find any match in the %d files searched\n"
 msgid "%s search found a total of %d match%s in the %d file%s searched\n"
 msgstr "%s search found a total of %d match%s in the %d file%s searched\n"
 
-#: ./src/ProjectSettings.ec:1374
+#: ./src/ProjectSettings.ec:1428
 msgid "(Right click or press Ctrl-Del to revert an option to inherited value)"
 msgstr "(Right click or press Ctrl-Del to revert an option to inherited value)"
 
@@ -126,6 +126,10 @@ msgstr "(Right click or press Ctrl-Del to revert an option to inherited value)"
 msgid "(unnamed)"
 msgstr "(unnamed)"
 
+#: ./src/ProjectSettings.ec:1978
+msgid "32bit"
+msgstr "32bit"
+
 #: ./src/ide.ec:108
 msgid "3D Studio Model"
 msgstr "3D Studio Model"
@@ -135,7 +139,11 @@ msgstr "3D Studio Model"
 msgid "3D Studio Model Files (*.3ds)"
 msgstr "3D Studio Model Files (*.3ds)"
 
-#: ./src/ide.ec:1292
+#: ./src/ProjectSettings.ec:2002
+msgid "64bit"
+msgstr "64bit"
+
+#: ./src/ide.ec:1312
 msgid "API Reference"
 msgstr "API Reference"
 
@@ -150,7 +158,7 @@ msgstr "Aborted"
 msgid "About the Ecere SDK"
 msgstr "About the Ecere SDK"
 
-#: ./src/ide.ec:1302
+#: ./src/ide.ec:1322
 msgid "About..."
 msgstr "About..."
 
@@ -163,7 +171,7 @@ msgstr "Absolute Path"
 msgid "Active Compiler"
 msgstr "Active Compiler"
 
-#: ./src/ide.ec:859
+#: ./src/ide.ec:879
 msgid "Active Compiler..."
 msgstr "Active Compiler..."
 
@@ -172,7 +180,7 @@ msgid "Active Configuration"
 msgstr "Active Configuration"
 
 #: ./src/project/ProjectView.ec:239
-#: ./src/ide.ec:868
+#: ./src/ide.ec:888
 msgid "Active Configuration..."
 msgstr "Active Configuration..."
 
@@ -180,7 +188,7 @@ msgstr "Active Configuration..."
 msgid "Add Files to Folder..."
 msgstr "Add Files to Folder..."
 
-#: ./src/project/ProjectView.ec:1715
+#: ./src/project/ProjectView.ec:1743
 msgid "Add Files to Project"
 msgstr "Add Files to Project"
 
@@ -201,7 +209,7 @@ msgstr "Add New Form..."
 msgid "Add Resources to Folder..."
 msgstr "Add Resources to Folder..."
 
-#: ./src/project/ProjectView.ec:1715
+#: ./src/project/ProjectView.ec:1743
 msgid "Add Resources to Project"
 msgstr "Add Resources to Project"
 
@@ -209,7 +217,7 @@ msgstr "Add Resources to Project"
 msgid "Add Resources to Project..."
 msgstr "Add Resources to Project..."
 
-#: ./src/ide.ec:820
+#: ./src/ide.ec:840
 msgid "Add a different project?"
 msgstr "Add a different project?"
 
@@ -217,31 +225,31 @@ msgstr "Add a different project?"
 msgid "Add project to workspace"
 msgstr "Add project to workspace"
 
-#: ./src/ide.ec:804
+#: ./src/ide.ec:824
 msgid "Add project to workspace..."
 msgstr "Add project to workspace..."
 
-#: ./src/ProjectSettings.ec:1933
+#: ./src/ProjectSettings.ec:2009
 msgid "Additional Include Directories"
 msgstr "Additional Include Directories"
 
-#: ./src/ProjectSettings.ec:2024
+#: ./src/ProjectSettings.ec:2100
 msgid "Additional Libraries"
 msgstr "Additional Libraries"
 
-#: ./src/ProjectSettings.ec:2052
+#: ./src/ProjectSettings.ec:2128
 msgid "Additional Library Directories"
 msgstr "Additional Library Directories"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:978
+#: ./src/dialogs/GlobalSettingsDialog.ec:1002
 msgid "Additional Linker flags:"
 msgstr "Additional Linker flags:"
 
-#: ./src/ProjectSettings.ec:1124
+#: ./src/ProjectSettings.ec:1178
 msgid "All"
 msgstr "All"
 
-#: ./src/ide.ec:1226
+#: ./src/ide.ec:1246
 msgid "All Debug Views"
 msgstr "All Debug Views"
 
@@ -255,16 +263,16 @@ msgstr "All Debug Views"
 msgid "All files"
 msgstr "All files"
 
-#: ./src/project/ProjectView.ec:2005
+#: ./src/project/ProjectView.ec:2033
 msgid "Are you sure you want to remove the \"%s\" project\nfrom this workspace?"
 msgstr "Are you sure you want to remove the \"%s\" project\nfrom this workspace?"
 
-#: ./src/project/ProjectView.ec:1982
+#: ./src/project/ProjectView.ec:2010
 msgid "Are you sure you want to remove the folder \"%s\"\nand all of its contents from the project?"
 msgstr "Are you sure you want to remove the folder \"%s\"\nand all of its contents from the project?"
 
 #: ./src/dialogs/GlobalSettingsDialog.ec:460
-#: ./src/ProjectSettings.ec:1301
+#: ./src/ProjectSettings.ec:1355
 msgid "Are you sure you wish to delete the "
 msgstr "Are you sure you wish to delete the "
 
@@ -276,7 +284,7 @@ msgstr "Are you sure you wish to discard changes made to the build options?"
 msgid "Are you sure you wish to discard changes?"
 msgstr "Are you sure you wish to discard changes?"
 
-#: ./src/ide.ec:1286
+#: ./src/ide.ec:1306
 msgid "Arrange Icons"
 msgstr "Arrange Icons"
 
@@ -289,7 +297,7 @@ msgstr "Attach"
 msgid "Attach %s"
 msgstr "Attach %s"
 
-#: ./src/project/ProjectView.ec:1319
+#: ./src/project/ProjectView.ec:1347
 msgid "Attempting to debug non-debug configuration\nProceed anyways?"
 msgstr "Attempting to debug non-debug configuration\nProceed anyways?"
 
@@ -303,12 +311,12 @@ msgid "Based on extension"
 msgstr "Based on extension"
 
 #: ./src/ide.ec:260
-#: ./src/ide.ec:1016
+#: ./src/ide.ec:1036
 msgid "Break"
 msgstr "Break"
 
 #: ./src/panels/BreakpointsView.ec:9
-#: ./src/ide.ec:1208
+#: ./src/ide.ec:1228
 msgid "Breakpoints"
 msgstr "Breakpoints"
 
@@ -323,13 +331,13 @@ msgstr "Breaks"
 msgid "Browse Folder"
 msgstr "Browse Folder"
 
-#: ./src/ide.ec:887
+#: ./src/ide.ec:907
 msgid "Browse Project Folder"
 msgstr "Browse Project Folder"
 
 #: ./src/project/ProjectView.ec:218
-#: ./src/ide.ec:909
-#: ./src/ProjectSettings.ec:1150
+#: ./src/ide.ec:929
+#: ./src/ProjectSettings.ec:1204
 msgid "Build"
 msgstr "Build"
 
@@ -337,15 +345,15 @@ msgstr "Build"
 msgid "Build project"
 msgstr "Build project"
 
-#: ./src/ProjectSettings.ec:2081
+#: ./src/ProjectSettings.ec:2157
 msgid "Builder"
 msgstr "Builder"
 
-#: ./src/project/Project.ec:1469
+#: ./src/project/Project.ec:1499
 msgid "Building library...\n"
 msgstr "Building library...\n"
 
-#: ./src/project/ProjectView.ec:653
+#: ./src/project/ProjectView.ec:663
 msgid "Building project %s using the %s configuration...\n"
 msgstr "Building project %s using the %s configuration...\n"
 
@@ -373,12 +381,12 @@ msgstr "C/C++/eC Files (*.ec, *.eh, *.c, *.cpp, *.cc, *.cxx, *.h, *.hpp, *.hh, *
 msgid "C/C++/eC Source Files (*.ec, *.c, *.cpp, *.cc, *.cxx)"
 msgstr "C/C++/eC Source Files (*.ec, *.c, *.cpp, *.cc, *.cxx)"
 
-#: ./src/ide.ec:2384
+#: ./src/ide.ec:2406
 msgid "CAPS"
 msgstr "CAPS"
 
 #: ./src/panels/CallStackView.ec:13
-#: ./src/ide.ec:1217
+#: ./src/ide.ec:1237
 msgid "Call Stack"
 msgstr "Call Stack"
 
@@ -386,20 +394,20 @@ msgstr "Call Stack"
 #: ./src/dialogs/CompilersDetectionDialog.ec:142
 #: ./src/dialogs/FindInFilesDialog.ec:411
 #: ./src/dialogs/GlobalSettingsDialog.ec:55
-#: ./src/dialogs/NewProjectDialog.ec:210
-#: ./src/dialogs/NewProjectDialog.ec:530
+#: ./src/dialogs/NewProjectDialog.ec:212
+#: ./src/dialogs/NewProjectDialog.ec:534
 #: ./src/dialogs/ProjectActiveConfig.ec:57
 #: ./src/designer/CodeEditor.ec:5225
 #: ./src/ProjectSettings.ec:172
 msgid "Cancel"
 msgstr "Cancel"
 
-#: ./src/ide.ec:1283
+#: ./src/ide.ec:1303
 msgid "Cascade"
 msgstr "Cascade"
 
 #: ./src/project/ProjectView.ec:221
-#: ./src/ide.ec:942
+#: ./src/ide.ec:962
 msgid "Clean"
 msgstr "Clean"
 
@@ -407,29 +415,29 @@ msgstr "Clean"
 msgid "Clean project"
 msgstr "Clean project"
 
-#: ./src/project/ProjectView.ec:896
+#: ./src/project/ProjectView.ec:906
 msgid "Cleaning project %s using the %s configuration...\n"
 msgstr "Cleaning project %s using the %s configuration...\n"
 
-#: ./src/ProjectSettings.ec:288
+#: ./src/ProjectSettings.ec:291
 msgid "Clear"
 msgstr "Clear"
 
 #: ./src/documents/PictureEdit.ec:279
 #: ./src/ide.ec:643
-#: ./src/ide.ec:833
+#: ./src/ide.ec:853
 msgid "Close"
 msgstr "Close"
 
-#: ./src/ide.ec:1278
+#: ./src/ide.ec:1298
 msgid "Close All"
 msgstr "Close All"
 
-#: ./src/ide.ec:2443
+#: ./src/ide.ec:2465
 msgid "Close IDE"
 msgstr "Close IDE"
 
-#: ./src/ide.ec:1252
+#: ./src/ide.ec:1272
 msgid "Color Picker..."
 msgstr "Color Picker..."
 
@@ -446,8 +454,8 @@ msgstr "Command Line Arguments"
 msgid "Command:"
 msgstr "Command:"
 
-#: ./src/ProjectSettings.ec:1606
-#: ./src/ProjectSettings.ec:1639
+#: ./src/ProjectSettings.ec:1664
+#: ./src/ProjectSettings.ec:1697
 msgid "Common"
 msgstr "Common"
 
@@ -455,11 +463,11 @@ msgstr "Common"
 msgid "Compile"
 msgstr "Compile"
 
-#: ./src/ide.ec:2401
+#: ./src/ide.ec:2423
 msgid "Compile %s"
 msgstr "Compile %s"
 
-#: ./src/ProjectSettings.ec:1777
+#: ./src/ProjectSettings.ec:1835
 msgid "Compiler"
 msgstr "Compiler"
 
@@ -481,15 +489,15 @@ msgstr "Compilers"
 msgid "Compilers Detection"
 msgstr "Compilers Detection"
 
-#: ./src/project/ProjectView.ec:1051
+#: ./src/project/ProjectView.ec:1061
 msgid "Compiling single file %s in project %s using the %s configuration...\n"
 msgstr "Compiling single file %s in project %s using the %s configuration...\n"
 
-#: ./src/project/ProjectView.ec:1053
+#: ./src/project/ProjectView.ec:1063
 msgid "Compiling single file %s in project %s...\n"
 msgstr "Compiling single file %s in project %s...\n"
 
-#: ./src/project/Project.ec:1440
+#: ./src/project/Project.ec:1470
 msgid "Compiling...\n"
 msgstr "Compiling...\n"
 
@@ -500,7 +508,7 @@ msgstr "Compiling...\n"
 msgid "Completed"
 msgstr "Completed"
 
-#: ./src/ProjectSettings.ec:2045
+#: ./src/ProjectSettings.ec:2121
 msgid "Compress"
 msgstr "Compress"
 
@@ -508,11 +516,16 @@ msgstr "Compress"
 msgid "Condition"
 msgstr "Condition"
 
-#: ./src/ProjectSettings.ec:1206
+#: ./src/ProjectSettings.ec:1260
 msgid "Configurations: "
 msgstr "Configurations: "
 
-#: ./src/ProjectSettings.ec:2039
+#: ./src/designer/CodeEditor.ec:38
+#: ./src/designer/CodeEditor.ec:39
+msgid "Consolas"
+msgstr "Consolas"
+
+#: ./src/ProjectSettings.ec:2115
 msgid "Console Application"
 msgstr "Console Application"
 
@@ -522,7 +535,7 @@ msgstr "Console Application"
 msgid "Copy"
 msgstr "Copy"
 
-#: ./src/project/ProjectView.ec:1751
+#: ./src/project/ProjectView.ec:1779
 msgid "Couldn't create file."
 msgstr "Couldn't create file."
 
@@ -530,12 +543,7 @@ msgstr "Couldn't create file."
 msgid "Couldn't read memory"
 msgstr "Couldn't read memory"
 
-#: ./src/designer/CodeEditor.ec:35
-#: ./src/designer/CodeEditor.ec:36
-msgid "Courier New"
-msgstr "Courier New"
-
-#: ./src/dialogs/NewProjectDialog.ec:215
+#: ./src/dialogs/NewProjectDialog.ec:217
 msgid "Create Form"
 msgstr "Create Form"
 
@@ -544,7 +552,7 @@ msgid "Create directory?"
 msgstr "Create directory?"
 
 #: ./src/designer/CodeEditor.ec:1886
-#: ./src/ide.ec:980
+#: ./src/ide.ec:1000
 msgid "Debug"
 msgstr "Debug"
 
@@ -552,7 +560,7 @@ msgstr "Debug"
 msgid "Debug Working Directory"
 msgstr "Debug Working Directory"
 
-#: ./src/ProjectSettings.ec:1914
+#: ./src/ProjectSettings.ec:1984
 msgid "Debuggable"
 msgstr "Debuggable"
 
@@ -576,7 +584,7 @@ msgstr "Debugger Fatal Error: GDB lost\n"
 msgid "Debugger required for symbol evaluation in \"%s\""
 msgstr "Debugger required for symbol evaluation in \"%s\""
 
-#: ./src/project/ProjectView.ec:1317
+#: ./src/project/ProjectView.ec:1345
 msgid "Debugging compressed applications is not supported\n"
 msgstr "Debugging compressed applications is not supported\n"
 
@@ -586,19 +594,19 @@ msgstr "Debugging compressed applications is not supported\n"
 msgid "Debugging stopped\n"
 msgstr "Debugging stopped\n"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:1149
+#: ./src/dialogs/GlobalSettingsDialog.ec:1173
 msgid "Default Compiler"
 msgstr "Default Compiler"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:1114
+#: ./src/dialogs/GlobalSettingsDialog.ec:1138
 msgid "Default Intermediate Objects Directory"
 msgstr "Default Intermediate Objects Directory"
 
-#: ./src/ProjectSettings.ec:1883
+#: ./src/ProjectSettings.ec:1941
 msgid "Default Name Space"
 msgstr "Default Name Space"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:1101
+#: ./src/dialogs/GlobalSettingsDialog.ec:1125
 msgid "Default Target Directory"
 msgstr "Default Target Directory"
 
@@ -607,7 +615,7 @@ msgid "Delete"
 msgstr "Delete"
 
 #: ./src/dialogs/GlobalSettingsDialog.ec:459
-#: ./src/ProjectSettings.ec:1300
+#: ./src/ProjectSettings.ec:1354
 msgid "Delete "
 msgstr "Delete "
 
@@ -616,11 +624,11 @@ msgstr "Delete "
 msgid "Delete %s"
 msgstr "Delete %s"
 
-#: ./src/project/ProjectView.ec:1983
+#: ./src/project/ProjectView.ec:2011
 msgid "Delete Folder"
 msgstr "Delete Folder"
 
-#: ./src/project/Project.ec:1798
+#: ./src/project/Project.ec:1862
 msgid "Deleting target and object files..."
 msgstr "Deleting target and object files..."
 
@@ -653,20 +661,20 @@ msgstr "Directory"
 msgid "Directory doesn't exist"
 msgstr "Directory doesn't exist"
 
-#: ./src/dialogs/NewProjectDialog.ec:340
+#: ./src/dialogs/NewProjectDialog.ec:342
 msgid "Do you want to quickly create a temporary project?"
 msgstr "Do you want to quickly create a temporary project?"
 
-#: ./src/ide.ec:1745
+#: ./src/ide.ec:1767
 msgid "Do you want to terminate the debugging session in progress?"
 msgstr "Do you want to terminate the debugging session in progress?"
 
 #: ./src/designer/CodeEditor.ec:2193
-#: ./src/ide.ec:1520
+#: ./src/ide.ec:1540
 msgid "Document has been modified"
 msgstr "Document has been modified"
 
-#: ./src/ide.ec:2888
+#: ./src/ide.ec:2910
 msgid "ECERE IDE"
 msgstr "ECERE IDE"
 
@@ -686,7 +694,7 @@ msgstr "Ecere IDE Workspace"
 #: ./src/panels/CallStackView.ec:76
 #: ./src/panels/OutputView.ec:191
 #: ./src/panels/ThreadsView.ec:95
-#: ./src/ide.ec:741
+#: ./src/ide.ec:761
 msgid "Edit"
 msgstr "Edit"
 
@@ -698,11 +706,11 @@ msgstr "Editor"
 msgid "Empty string"
 msgstr "Empty string"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:803
+#: ./src/dialogs/GlobalSettingsDialog.ec:823
 msgid "Environment"
 msgstr "Environment"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:809
+#: ./src/dialogs/GlobalSettingsDialog.ec:829
 #: ./src/dialogs/WorkspaceSettings.ec:29
 msgid "Environment Variables"
 msgstr "Environment Variables"
@@ -711,7 +719,7 @@ msgstr "Environment Variables"
 msgid "Error creating directory"
 msgstr "Error creating directory"
 
-#: ./src/project/Project.ec:1743
+#: ./src/project/Project.ec:1793
 msgid "Error executing make (%s) command\n"
 msgstr "Error executing make (%s) command\n"
 
@@ -719,16 +727,16 @@ msgstr "Error executing make (%s) command\n"
 msgid "Error opening file"
 msgstr "Error opening file"
 
-#: ./src/ide.ec:1906
+#: ./src/ide.ec:1928
 msgid "Error opening project"
 msgstr "Error opening project"
 
-#: ./src/ide.ec:819
+#: ./src/ide.ec:839
 msgid "Error opening project file"
 msgstr "Error opening project file"
 
-#: ./src/dialogs/NewProjectDialog.ec:140
-#: ./src/dialogs/NewProjectDialog.ec:449
+#: ./src/dialogs/NewProjectDialog.ec:142
+#: ./src/dialogs/NewProjectDialog.ec:453
 msgid "Error writing project file"
 msgstr "Error writing project file"
 
@@ -740,13 +748,13 @@ msgstr "Error: Struct member not found for \"%s\""
 msgid "Evaluation failed for \"%s\" of type \"%s\""
 msgstr "Evaluation failed for \"%s\" of type \"%s\""
 
-#: ./src/ProjectSettings.ec:1869
+#: ./src/ProjectSettings.ec:1927
 msgid "Exclude from Build"
 msgstr "Exclude from Build"
 
-#: ./src/dialogs/NewProjectDialog.ec:312
-#: ./src/dialogs/NewProjectDialog.ec:540
-#: ./src/ProjectSettings.ec:1066
+#: ./src/dialogs/NewProjectDialog.ec:314
+#: ./src/dialogs/NewProjectDialog.ec:544
+#: ./src/ProjectSettings.ec:1120
 msgid "Executable"
 msgstr "Executable"
 
@@ -766,31 +774,35 @@ msgstr "Exit"
 msgid "Expression"
 msgstr "Expression"
 
-#: ./src/project/Project.ec:1593
+#: ./src/ProjectSettings.ec:1952
+msgid "Fast Math"
+msgstr "Fast Math"
+
+#: ./src/project/Project.ec:1623
 msgid "Fatal Error: child process terminated unexpectedly\n"
 msgstr "Fatal Error: child process terminated unexpectedly\n"
 
-#: ./src/project/ProjectView.ec:441
+#: ./src/project/ProjectView.ec:451
 #: ./src/designer/CodeEditor.ec:1882
 #: ./src/designer/Designer.ec:150
 #: ./src/documents/PictureEdit.ec:53
 #: ./src/ide.ec:594
-#: ./src/ide.ec:2786
+#: ./src/ide.ec:2808
 msgid "File"
 msgstr "File"
 
-#: ./src/project/ProjectView.ec:1242
-#: ./src/ide.ec:2422
+#: ./src/project/ProjectView.ec:1252
+#: ./src/ide.ec:2444
 msgid "File %s is excluded from current build configuration.\n"
 msgstr "File %s is excluded from current build configuration.\n"
 
-#: ./src/ide.ec:1986
-#: ./src/ide.ec:1998
+#: ./src/ide.ec:2008
+#: ./src/ide.ec:2020
 msgid "File doesn't exist."
 msgstr "File doesn't exist."
 
-#: ./src/project/ProjectView.ec:1740
-#: ./src/ide.ec:2046
+#: ./src/project/ProjectView.ec:1768
+#: ./src/ide.ec:2068
 msgid "File doesn't exist. Create?"
 msgstr "File doesn't exist. Create?"
 
@@ -810,7 +822,7 @@ msgstr "File with same name already in project."
 msgid "File%s not found"
 msgstr "File%s not found"
 
-#: ./src/ProjectSettings.ec:1791
+#: ./src/ProjectSettings.ec:1849
 msgid "Files"
 msgstr "Files"
 
@@ -861,11 +873,11 @@ msgstr "Find what:"
 msgid "Find where:"
 msgstr "Find where:"
 
-#: ./src/ProjectSettings.ec:1099
+#: ./src/ProjectSettings.ec:1153
 msgid "For Size (-Os)"
 msgstr "For Size (-Os)"
 
-#: ./src/ProjectSettings.ec:1095
+#: ./src/ProjectSettings.ec:1149
 msgid "For Speed (-O2)"
 msgstr "For Speed (-O2)"
 
@@ -873,10 +885,18 @@ msgstr "For Speed (-O2)"
 msgid "Found %d match%s in \"%s\"%s\n\n"
 msgstr "Found %d match%s in \"%s\"%s\n\n"
 
+#: ./src/dialogs/GlobalSettingsDialog.ec:743
+msgid "GCC Prefix"
+msgstr "GCC Prefix"
+
 #: ./src/debugger/GDBDialog.ec:188
 msgid "GDB Command"
 msgstr "GDB Command"
 
+#: ./src/ide.ec:1261
+msgid "GDB Dialog"
+msgstr "GDB Dialog"
+
 #: ./src/documents/PictureEdit.ec:32
 msgid "GIF Image"
 msgstr "GIF Image"
@@ -889,24 +909,24 @@ msgstr "GNU Compiler Collection (GCC) / GNU Make"
 msgid "GNU Make"
 msgstr "GNU Make"
 
-#: ./src/project/ProjectView.ec:622
+#: ./src/project/ProjectView.ec:632
 msgid "Generating "
 msgstr "Generating "
 
 #: ./src/project/ProjectView.ec:139
-#: ./src/project/ProjectView.ec:618
+#: ./src/project/ProjectView.ec:628
 msgid "Generating Makefile & Dependencies..."
 msgstr "Generating Makefile & Dependencies..."
 
-#: ./src/project/ProjectView.ec:593
+#: ./src/project/ProjectView.ec:603
 msgid "Generating Visual Studio Project..."
 msgstr "Generating Visual Studio Project..."
 
-#: ./src/project/ProjectView.ec:590
+#: ./src/project/ProjectView.ec:600
 msgid "Generating Visual Studio Solution..."
 msgstr "Generating Visual Studio Solution..."
 
-#: ./src/project/Project.ec:1445
+#: ./src/project/Project.ec:1475
 msgid "Generating symbols...\n"
 msgstr "Generating symbols...\n"
 
@@ -923,7 +943,7 @@ msgstr "Global Settings..."
 msgid "Go to"
 msgstr "Go to"
 
-#: ./src/ide.ec:1275
+#: ./src/ide.ec:1295
 msgid "Graphics Driver"
 msgstr "Graphics Driver"
 
@@ -937,7 +957,7 @@ msgstr "Header Files for C/C++ (*.eh, *.h, *.hpp, *.hh, *.hxx)"
 msgid "Header Files for eC/C/C++ (*.eh, *.h, *.hpp, *.hh, *.hxx)"
 msgstr "Header Files for eC/C/C++ (*.eh, *.h, *.hpp, *.hh, *.hxx)"
 
-#: ./src/ide.ec:1289
+#: ./src/ide.ec:1309
 msgid "Help"
 msgstr "Help"
 
@@ -959,7 +979,7 @@ msgstr "Ignore Count"
 
 #: ./src/documents/PictureEdit.ec:56
 #: ./src/ide.ec:107
-#: ./src/ide.ec:1095
+#: ./src/ide.ec:1115
 msgid "Image"
 msgstr "Image"
 
@@ -972,7 +992,7 @@ msgstr "Image Files (*.jpg, *.jpeg, *.bmp, *.pcx, *.png, *.gif)"
 msgid "Image Files (*.jpg, *.jpeg, *.bmp, *.pcx, *.png,*.gif)"
 msgstr "Image Files (*.jpg, *.jpeg, *.bmp, *.pcx, *.png,*.gif)"
 
-#: ./src/project/ProjectView.ec:426
+#: ./src/project/ProjectView.ec:436
 msgid "Import Folder"
 msgstr "Import Folder"
 
@@ -1002,7 +1022,7 @@ msgstr "Indexed Color..."
 msgid "Initializing Debugger"
 msgstr "Initializing Debugger"
 
-#: ./src/ProjectSettings.ec:1863
+#: ./src/ProjectSettings.ec:1921
 msgid "Intermediate Objects Directory"
 msgstr "Intermediate Objects Directory"
 
@@ -1041,7 +1061,7 @@ msgstr "Keep caret visible (move along) when scrolling"
 msgid "Lead Architect and Developer"
 msgstr "Lead Architect and Developer"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:997
+#: ./src/dialogs/GlobalSettingsDialog.ec:1021
 msgid "Libraries to exclude:"
 msgstr "Libraries to exclude:"
 
@@ -1053,19 +1073,19 @@ msgstr "Library Files"
 msgid "License"
 msgstr "License"
 
-#: ./src/ProjectSettings.ec:1997
+#: ./src/ProjectSettings.ec:2073
 msgid "Linker"
 msgstr "Linker"
 
-#: ./src/project/Project.ec:1505
+#: ./src/project/Project.ec:1535
 msgid "Linker Error"
 msgstr "Linker Error"
 
-#: ./src/ProjectSettings.ec:2032
+#: ./src/ProjectSettings.ec:2108
 msgid "Linker Options"
 msgstr "Linker Options"
 
-#: ./src/project/Project.ec:1458
+#: ./src/project/Project.ec:1488
 msgid "Linking...\n"
 msgstr "Linking...\n"
 
@@ -1084,7 +1104,7 @@ msgstr "Location"
 msgid "Lose Changes?"
 msgstr "Lose Changes?"
 
-#: ./src/project/ProjectView.ec:630
+#: ./src/project/ProjectView.ec:640
 msgid "Makefile doesn't exist. "
 msgstr "Makefile doesn't exist. "
 
@@ -1100,7 +1120,7 @@ msgstr "Member \"%s\" not found in class \"%s\""
 msgid "Memory can't be read at %s"
 msgstr "Memory can't be read at %s"
 
-#: ./src/ProjectSettings.ec:1894
+#: ./src/ProjectSettings.ec:1958
 msgid "MemoryGuard"
 msgstr "MemoryGuard"
 
@@ -1153,7 +1173,7 @@ msgstr "Module Name"
 msgid "Move code editor caret freely past end of line"
 msgstr "Move code editor caret freely past end of line"
 
-#: ./src/ide.ec:2390
+#: ./src/ide.ec:2412
 msgid "NUM"
 msgstr "NUM"
 
@@ -1161,7 +1181,7 @@ msgstr "NUM"
 msgid "Name"
 msgstr "Name"
 
-#: ./src/project/ProjectView.ec:1788
+#: ./src/project/ProjectView.ec:1816
 msgid "Name Conflict"
 msgstr "Name Conflict"
 
@@ -1186,7 +1206,7 @@ msgid "New Folder..."
 msgstr "New Folder..."
 
 #: ./src/dialogs/NewProjectDialog.ec:13
-#: ./src/ide.ec:750
+#: ./src/ide.ec:770
 msgid "New Project"
 msgstr "New Project"
 
@@ -1198,15 +1218,15 @@ msgstr "New file"
 msgid "New project"
 msgstr "New project"
 
-#: ./src/ide.ec:746
+#: ./src/ide.ec:766
 msgid "New..."
 msgstr "New..."
 
-#: ./src/ide.ec:1280
+#: ./src/ide.ec:1300
 msgid "Next"
 msgstr "Next"
 
-#: ./src/ProjectSettings.ec:1926
+#: ./src/ProjectSettings.ec:1996
 msgid "No Line Numbers"
 msgstr "No Line Numbers"
 
@@ -1218,12 +1238,12 @@ msgstr "No Source Directory Provided"
 msgid "No source file found for selected frame"
 msgstr "No source file found for selected frame"
 
-#: ./src/ProjectSettings.ec:1091
-#: ./src/ProjectSettings.ec:1120
+#: ./src/ProjectSettings.ec:1145
+#: ./src/ProjectSettings.ec:1174
 msgid "None"
 msgstr "None"
 
-#: ./src/ProjectSettings.ec:1116
+#: ./src/ProjectSettings.ec:1170
 msgid "Normal"
 msgstr "Normal"
 
@@ -1239,7 +1259,7 @@ msgstr "Null string"
 msgid "Null type for \"%s\""
 msgstr "Null type for \"%s\""
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:863
+#: ./src/dialogs/GlobalSettingsDialog.ec:887
 msgid "Number of parallel build jobs"
 msgstr "Number of parallel build jobs"
 
@@ -1247,7 +1267,7 @@ msgstr "Number of parallel build jobs"
 #: ./src/dialogs/CompilersDetectionDialog.ec:130
 #: ./src/dialogs/GlobalSettingsDialog.ec:63
 #: ./src/dialogs/NewProjectDialog.ec:34
-#: ./src/dialogs/NewProjectDialog.ec:347
+#: ./src/dialogs/NewProjectDialog.ec:349
 #: ./src/dialogs/ProjectActiveConfig.ec:39
 #: ./src/designer/CodeEditor.ec:5230
 #: ./src/about.ec:34
@@ -1255,7 +1275,7 @@ msgstr "Number of parallel build jobs"
 msgid "OK"
 msgstr "OK"
 
-#: ./src/ide.ec:2387
+#: ./src/ide.ec:2409
 msgid "OVR"
 msgstr "OVR"
 
@@ -1272,7 +1292,7 @@ msgstr "Open Additional Project"
 
 #: ./src/designer/CodeEditor.ec:139
 #: ./src/ide.ec:137
-#: ./src/ide.ec:1803
+#: ./src/ide.ec:1825
 msgid "Open Project"
 msgstr "Open Project"
 
@@ -1280,7 +1300,7 @@ msgstr "Open Project"
 msgid "Open a different file?"
 msgstr "Open a different file?"
 
-#: ./src/ide.ec:1906
+#: ./src/ide.ec:1928
 msgid "Open a different project?"
 msgstr "Open a different project?"
 
@@ -1293,15 +1313,15 @@ msgid "Open project"
 msgstr "Open project"
 
 #: ./src/ide.ec:608
-#: ./src/ide.ec:776
+#: ./src/ide.ec:796
 msgid "Open..."
 msgstr "Open..."
 
-#: ./src/ProjectSettings.ec:1908
+#: ./src/ProjectSettings.ec:1972
 msgid "Optimization"
 msgstr "Optimization"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:839
+#: ./src/dialogs/GlobalSettingsDialog.ec:863
 msgid "Options"
 msgstr "Options"
 
@@ -1309,7 +1329,7 @@ msgstr "Options"
 msgid "Other methods are still attached to this method. Are you sure you want to delete it?"
 msgstr "Other methods are still attached to this method. Are you sure you want to delete it?"
 
-#: ./src/ide.ec:1181
+#: ./src/ide.ec:1201
 msgid "Output"
 msgstr "Output"
 
@@ -1333,7 +1353,7 @@ msgstr "PNG Image"
 msgid "Path"
 msgstr "Path"
 
-#: ./src/ProjectSettings.ec:1352
+#: ./src/ProjectSettings.ec:1406
 msgid "Platforms: "
 msgstr "Platforms: "
 
@@ -1345,36 +1365,36 @@ msgstr "Pointer"
 msgid "Portable C Compiler / GNU Make"
 msgstr "Portable C Compiler / GNU Make"
 
-#: ./src/ProjectSettings.ec:2094
+#: ./src/ProjectSettings.ec:2170
 msgid "Post-build Commands"
 msgstr "Post-build Commands"
 
-#: ./src/ProjectSettings.ec:2087
+#: ./src/ProjectSettings.ec:2163
 msgid "Pre-build Commands"
 msgstr "Pre-build Commands"
 
-#: ./src/ProjectSettings.ec:1876
+#: ./src/ProjectSettings.ec:1934
 msgid "Preprocessor Definitions"
 msgstr "Preprocessor Definitions"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:959
+#: ./src/dialogs/GlobalSettingsDialog.ec:983
 msgid "Preprocessor directives:"
 msgstr "Preprocessor directives:"
 
-#: ./src/ide.ec:1281
+#: ./src/ide.ec:1301
 msgid "Previous"
 msgstr "Previous"
 
-#: ./src/ProjectSettings.ec:1920
+#: ./src/ProjectSettings.ec:1990
 msgid "Profiling Data"
 msgstr "Profiling Data"
 
-#: ./src/ide.ec:743
+#: ./src/ide.ec:763
 msgctxt "Menu"
 msgid "Project"
 msgstr "Project"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:1095
+#: ./src/dialogs/GlobalSettingsDialog.ec:1119
 #: ./src/dialogs/ProjectTabSettings.ec:8
 msgid "Project"
 msgstr "Project"
@@ -1387,15 +1407,15 @@ msgstr "Project Active Configuration"
 msgid "Project Already Exists"
 msgstr "Project Already Exists"
 
-#: ./src/project/ProjectView.ec:796
+#: ./src/project/ProjectView.ec:806
 msgid "Project Build"
 msgstr "Project Build"
 
-#: ./src/project/ProjectView.ec:892
+#: ./src/project/ProjectView.ec:902
 msgid "Project Clean"
 msgstr "Project Clean"
 
-#: ./src/ide.ec:838
+#: ./src/ide.ec:858
 msgid "Project Close"
 msgstr "Project Close"
 
@@ -1408,19 +1428,19 @@ msgstr "Project File"
 msgid "Project Files (*.epj)"
 msgstr "Project Files (*.epj)"
 
-#: ./src/project/ProjectView.ec:823
+#: ./src/project/ProjectView.ec:833
 msgid "Project Link"
 msgstr "Project Link"
 
-#: ./src/dialogs/NewProjectDialog.ec:222
+#: ./src/dialogs/NewProjectDialog.ec:224
 msgid "Project Name"
 msgstr "Project Name"
 
-#: ./src/project/ProjectView.ec:931
+#: ./src/project/ProjectView.ec:941
 msgid "Project Real Clean"
 msgstr "Project Real Clean"
 
-#: ./src/project/ProjectView.ec:856
+#: ./src/project/ProjectView.ec:866
 msgid "Project Rebuild"
 msgstr "Project Rebuild"
 
@@ -1428,15 +1448,15 @@ msgstr "Project Rebuild"
 msgid "Project Settings"
 msgstr "Project Settings"
 
-#: ./src/ide.ec:1099
+#: ./src/ide.ec:1119
 msgid "Project View"
 msgstr "Project View"
 
-#: ./src/project/Project.ec:800
+#: ./src/project/Project.ec:812
 msgid "Project has been modified"
 msgstr "Project has been modified"
 
-#: ./src/project/ProjectView.ec:632
+#: ./src/project/ProjectView.ec:642
 msgid "Project has been modified. "
 msgstr "Project has been modified. "
 
@@ -1465,11 +1485,11 @@ msgstr "Provide source file location for %s"
 msgid "Provide source files location directory for %s"
 msgstr "Provide source files location directory for %s"
 
-#: ./src/dialogs/NewProjectDialog.ec:335
+#: ./src/dialogs/NewProjectDialog.ec:337
 msgid "Quick Project"
 msgstr "Quick Project"
 
-#: ./src/ide.ec:794
+#: ./src/ide.ec:814
 msgid "Quick..."
 msgstr "Quick..."
 
@@ -1478,7 +1498,7 @@ msgid "RGB Color"
 msgstr "RGB Color"
 
 #: ./src/project/ProjectView.ec:222
-#: ./src/ide.ec:956
+#: ./src/ide.ec:976
 msgid "Real Clean"
 msgstr "Real Clean"
 
@@ -1487,7 +1507,7 @@ msgid "Reattach"
 msgstr "Reattach"
 
 #: ./src/project/ProjectView.ec:220
-#: ./src/ide.ec:931
+#: ./src/ide.ec:951
 msgid "Rebuild"
 msgstr "Rebuild"
 
@@ -1495,32 +1515,32 @@ msgstr "Rebuild"
 msgid "Rebuild project"
 msgstr "Rebuild project"
 
-#: ./src/project/ProjectView.ec:860
+#: ./src/project/ProjectView.ec:870
 msgid "Rebuilding project %s using the %s configuration...\n"
 msgstr "Rebuilding project %s using the %s configuration...\n"
 
 #: ./src/ide.ec:697
-#: ./src/ide.ec:2787
+#: ./src/ide.ec:2809
 msgid "Recent Files"
 msgstr "Recent Files"
 
 #: ./src/ide.ec:698
-#: ./src/ide.ec:2788
+#: ./src/ide.ec:2810
 msgid "Recent Projects"
 msgstr "Recent Projects"
 
 #: ./src/project/ProjectView.ec:223
 #: ./src/ide.ec:247
-#: ./src/ide.ec:970
+#: ./src/ide.ec:990
 msgid "Regenerate Makefile"
 msgstr "Regenerate Makefile"
 
-#: ./src/project/ProjectView.ec:624
+#: ./src/project/ProjectView.ec:634
 msgid "Regenerating "
 msgstr "Regenerating "
 
 #: ./src/project/ProjectView.ec:219
-#: ./src/ide.ec:920
+#: ./src/ide.ec:940
 msgid "Relink"
 msgstr "Relink"
 
@@ -1528,7 +1548,7 @@ msgstr "Relink"
 msgid "Relink project"
 msgstr "Relink project"
 
-#: ./src/project/ProjectView.ec:827
+#: ./src/project/ProjectView.ec:837
 msgid "Relinking project %s using the %s configuration...\n"
 msgstr "Relinking project %s using the %s configuration...\n"
 
@@ -1537,7 +1557,7 @@ msgstr "Relinking project %s using the %s configuration...\n"
 msgid "Remove"
 msgstr "Remove"
 
-#: ./src/project/ProjectView.ec:2006
+#: ./src/project/ProjectView.ec:2034
 msgid "Remove Project"
 msgstr "Remove Project"
 
@@ -1545,7 +1565,7 @@ msgstr "Remove Project"
 msgid "Remove project from workspace"
 msgstr "Remove project from workspace"
 
-#: ./src/project/ProjectView.ec:935
+#: ./src/project/ProjectView.ec:945
 msgid "Removing intermediate objects directory for project %s using the %s configuration...\n"
 msgstr "Removing intermediate objects directory for project %s using the %s configuration...\n"
 
@@ -1578,37 +1598,41 @@ msgid "Replacing Editbox"
 msgstr "Replacing Editbox"
 
 #: ./src/ide.ec:258
-#: ./src/ide.ec:1005
+#: ./src/ide.ec:1025
 msgid "Restart"
 msgstr "Restart"
 
-#: ./src/ide.ec:1659
-#: ./src/ide.ec:1664
+#: ./src/ide.ec:1681
+#: ./src/ide.ec:1686
 msgid "Resume"
 msgstr "Resume"
 
-#: ./src/project/ProjectView.ec:1315
+#: ./src/project/ProjectView.ec:1343
 #: ./src/ide.ec:250
-#: ./src/ide.ec:898
+#: ./src/ide.ec:918
 msgid "Run"
 msgstr "Run"
 
 #: ./src/designer/CodeEditor.ec:1889
-#: ./src/ide.ec:1070
+#: ./src/ide.ec:1090
 msgid "Run To Cursor"
 msgstr "Run To Cursor"
 
 #: ./src/designer/CodeEditor.ec:1909
-#: ./src/ide.ec:1092
+#: ./src/ide.ec:1112
 msgid "Run To Cursor Skipping Breakpoints"
 msgstr "Run To Cursor Skipping Breakpoints"
 
-#: ./src/ide.ec:1940
+#: ./src/dialogs/GlobalSettingsDialog.ec:749
+msgid "SYSROOT"
+msgstr "SYSROOT"
+
+#: ./src/ide.ec:1962
 msgid "Same Project"
 msgstr "Same Project"
 
 #: ./src/project/ProjectView.ec:244
-#: ./src/project/ProjectView.ec:442
+#: ./src/project/ProjectView.ec:452
 #: ./src/designer/CodeEditor.ec:1883
 #: ./src/designer/Designer.ec:153
 #: ./src/documents/PictureEdit.ec:54
@@ -1635,7 +1659,7 @@ msgstr "Save all"
 msgid "Save changes to project options?"
 msgstr "Save changes to project options?"
 
-#: ./src/ProjectSettings.ec:1754
+#: ./src/ProjectSettings.ec:1812
 msgid "Save changes to project settings?"
 msgstr "Save changes to project settings?"
 
@@ -1691,17 +1715,17 @@ msgstr "Select project directory"
 #: ./src/project/ProjectView.ec:256
 #: ./src/project/ProjectView.ec:268
 #: ./src/project/ProjectView.ec:297
-#: ./src/ide.ec:877
+#: ./src/ide.ec:897
 msgid "Settings..."
 msgstr "Settings..."
 
-#: ./src/dialogs/NewProjectDialog.ec:316
-#: ./src/dialogs/NewProjectDialog.ec:544
-#: ./src/ProjectSettings.ec:1070
+#: ./src/dialogs/NewProjectDialog.ec:318
+#: ./src/dialogs/NewProjectDialog.ec:548
+#: ./src/ProjectSettings.ec:1124
 msgid "Shared Library"
 msgstr "Shared Library"
 
-#: ./src/project/ProjectView.ec:1315
+#: ./src/project/ProjectView.ec:1343
 msgid "Shared and static libraries cannot be run like executables."
 msgstr "Shared and static libraries cannot be run like executables."
 
@@ -1726,14 +1750,14 @@ msgid "Stack Depth"
 msgstr "Stack Depth"
 
 #: ./src/ide.ec:256
-#: ./src/ide.ec:983
-#: ./src/ide.ec:1659
-#: ./src/ide.ec:1664
+#: ./src/ide.ec:1003
+#: ./src/ide.ec:1681
+#: ./src/ide.ec:1686
 msgid "Start"
 msgstr "Start"
 
-#: ./src/project/ProjectView.ec:1317
-#: ./src/project/ProjectView.ec:1319
+#: ./src/project/ProjectView.ec:1345
+#: ./src/project/ProjectView.ec:1347
 msgid "Starting Debug"
 msgstr "Starting Debug"
 
@@ -1744,46 +1768,46 @@ msgstr "Starting Debug"
 msgid "Starting debug mode\n"
 msgstr "Starting debug mode\n"
 
-#: ./src/dialogs/NewProjectDialog.ec:320
-#: ./src/dialogs/NewProjectDialog.ec:548
-#: ./src/ProjectSettings.ec:1074
+#: ./src/dialogs/NewProjectDialog.ec:322
+#: ./src/dialogs/NewProjectDialog.ec:552
+#: ./src/ProjectSettings.ec:1128
 msgid "Static Library"
 msgstr "Static Library"
 
 #: ./src/ide.ec:266
-#: ./src/ide.ec:1039
+#: ./src/ide.ec:1059
 msgid "Step Into"
 msgstr "Step Into"
 
 #: ./src/ide.ec:270
-#: ./src/ide.ec:1061
+#: ./src/ide.ec:1081
 msgid "Step Out"
 msgstr "Step Out"
 
-#: ./src/ide.ec:1083
+#: ./src/ide.ec:1103
 msgid "Step Out Skipping Breakpoints"
 msgstr "Step Out Skipping Breakpoints"
 
 #: ./src/ide.ec:268
-#: ./src/ide.ec:1050
+#: ./src/ide.ec:1070
 msgid "Step Over"
 msgstr "Step Over"
 
 #: ./src/ide.ec:272
-#: ./src/ide.ec:1073
+#: ./src/ide.ec:1093
 msgid "Step Over Skipping Breakpoints"
 msgstr "Step Over Skipping Breakpoints"
 
 #: ./src/ide.ec:262
-#: ./src/ide.ec:1027
+#: ./src/ide.ec:1047
 msgid "Stop"
 msgstr "Stop"
 
-#: ./src/ProjectSettings.ec:1888
+#: ./src/ProjectSettings.ec:1946
 msgid "Strict Name Spaces"
 msgstr "Strict Name Spaces"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:1015
+#: ./src/dialogs/GlobalSettingsDialog.ec:1039
 msgid "Supports forcing bit depth"
 msgstr "Supports forcing bit depth"
 
@@ -1806,25 +1830,25 @@ msgstr "Symbol \"%s\" not found"
 msgid "Tahoma"
 msgstr "Tahoma"
 
-#: ./src/ProjectSettings.ec:2017
+#: ./src/ProjectSettings.ec:2093
 msgid "Target Directory"
 msgstr "Target Directory"
 
-#: ./src/ProjectSettings.ec:2003
+#: ./src/ProjectSettings.ec:2079
 msgid "Target Name"
 msgstr "Target Name"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:845
+#: ./src/dialogs/GlobalSettingsDialog.ec:869
 msgid "Target Platform"
 msgstr "Target Platform"
 
 #: ./src/dialogs/NewProjectDialog.ec:28
-#: ./src/dialogs/NewProjectDialog.ec:342
-#: ./src/ProjectSettings.ec:2010
+#: ./src/dialogs/NewProjectDialog.ec:344
+#: ./src/ProjectSettings.ec:2086
 msgid "Target Type"
 msgstr "Target Type"
 
-#: ./src/project/Project.ec:1802
+#: ./src/project/Project.ec:1866
 msgid "Target and object files deleted\n"
 msgstr "Target and object files deleted\n"
 
@@ -1832,7 +1856,7 @@ msgstr "Target and object files deleted\n"
 msgid "Target doesn't contain debug information!\n"
 msgstr "Target doesn't contain debug information!\n"
 
-#: ./src/dialogs/NewProjectDialog.ec:373
+#: ./src/dialogs/NewProjectDialog.ec:375
 msgid "Temporary directory does not exist."
 msgstr "Temporary directory does not exist."
 
@@ -1858,11 +1882,11 @@ msgid "The "
 msgstr "The "
 
 #: ./src/designer/CodeEditor.ec:2192
-#: ./src/ide.ec:1518
+#: ./src/ide.ec:1538
 msgid "The document %s was modified by another application.\nWould you like to reload it and lose your changes?"
 msgstr "The document %s was modified by another application.\nWould you like to reload it and lose your changes?"
 
-#: ./src/project/ProjectView.ec:1769
+#: ./src/project/ProjectView.ec:1797
 msgid "The following file"
 msgstr "The following file"
 
@@ -1887,7 +1911,7 @@ msgstr "The program %s has exited with a signal%s.\n"
 msgid "The program %s has exited%s.\n"
 msgstr "The program %s has exited%s.\n"
 
-#: ./src/project/Project.ec:798
+#: ./src/project/Project.ec:810
 msgid "The project %s was modified by another application.\nWould you like to reload it and lose your changes?"
 msgstr "The project %s was modified by another application.\nWould you like to reload it and lose your changes?"
 
@@ -1895,7 +1919,7 @@ msgstr "The project %s was modified by another application.\nWould you like to r
 msgid "This is the project directory.\nWould you like to try again?"
 msgstr "This is the project directory.\nWould you like to try again?"
 
-#: ./src/ide.ec:1941
+#: ./src/ide.ec:1963
 msgid "This project is already present in workspace."
 msgstr "This project is already present in workspace."
 
@@ -1903,15 +1927,15 @@ msgstr "This project is already present in workspace."
 msgid "This source directory is already specified.\nWould you like to try again?"
 msgstr "This source directory is already specified.\nWould you like to try again?"
 
-#: ./src/ide.ec:1199
+#: ./src/ide.ec:1219
 msgid "Threads"
 msgstr "Threads"
 
-#: ./src/ide.ec:1284
+#: ./src/ide.ec:1304
 msgid "Tile Horizontally"
 msgstr "Tile Horizontally"
 
-#: ./src/ide.ec:1285
+#: ./src/ide.ec:1305
 msgid "Tile Vertically"
 msgstr "Tile Vertically"
 
@@ -1964,20 +1988,20 @@ msgstr "Unknown output"
 msgid "Unknown prompt"
 msgstr "Unknown prompt"
 
-#: ./src/project/ProjectView.ec:1078
+#: ./src/project/ProjectView.ec:1088
 #: ./src/designer/CodeEditor.ec:2417
 msgid "Untitled %d"
 msgstr "Untitled %d"
 
-#: ./src/project/ProjectView.ec:626
+#: ./src/project/ProjectView.ec:636
 msgid "Updating "
 msgstr "Updating "
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:902
+#: ./src/dialogs/GlobalSettingsDialog.ec:926
 msgid "Use ccache"
 msgstr "Use ccache"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:920
+#: ./src/dialogs/GlobalSettingsDialog.ec:944
 msgid "Use distcc"
 msgstr "Use distcc"
 
@@ -1987,41 +2011,41 @@ msgstr "Value"
 
 #: ./src/designer/Sheet.ec:447
 #: ./src/designer/ToolBox.ec:36
-#: ./src/ide.ec:1096
+#: ./src/ide.ec:1116
 msgid "View"
 msgstr "View"
 
-#: ./src/ide.ec:1111
-#: ./src/ide.ec:1133
+#: ./src/ide.ec:1131
+#: ./src/ide.ec:1153
 msgid "View Code"
 msgstr "View Code"
 
-#: ./src/ide.ec:1110
-#: ./src/ide.ec:1116
+#: ./src/ide.ec:1130
+#: ./src/ide.ec:1136
 msgid "View Designer"
 msgstr "View Designer"
 
-#: ./src/ide.ec:1113
-#: ./src/ide.ec:1160
+#: ./src/ide.ec:1133
+#: ./src/ide.ec:1180
 msgid "View Methods"
 msgstr "View Methods"
 
-#: ./src/ide.ec:1112
-#: ./src/ide.ec:1149
+#: ./src/ide.ec:1132
+#: ./src/ide.ec:1169
 msgid "View Properties"
 msgstr "View Properties"
 
 #: ./src/designer/ToolBox.ec:37
-#: ./src/ide.ec:1171
+#: ./src/ide.ec:1191
 msgid "View Toolbox"
 msgstr "View Toolbox"
 
-#: ./src/ProjectSettings.ec:1901
+#: ./src/ProjectSettings.ec:1965
 msgid "Warnings"
 msgstr "Warnings"
 
 #: ./src/panels/WatchesView.ec:6
-#: ./src/ide.ec:1190
+#: ./src/ide.ec:1210
 msgid "Watches"
 msgstr "Watches"
 
@@ -2033,11 +2057,11 @@ msgstr "Web files (*.html, *.htm, *.xhtml, *.css, *.php, *.js, *.jsi, *.rb, *.xm
 msgid "Whole word only"
 msgstr "Whole word only"
 
-#: ./src/ide.ec:1277
+#: ./src/ide.ec:1297
 msgid "Window"
 msgstr "Window"
 
-#: ./src/ide.ec:1288
+#: ./src/ide.ec:1308
 msgid "Windows..."
 msgstr "Windows..."
 
@@ -2046,7 +2070,7 @@ msgid "With contributions from..."
 msgstr "With contributions from..."
 
 #: ./src/dialogs/FindInFilesDialog.ec:441
-#: ./src/dialogs/GlobalSettingsDialog.ec:1143
+#: ./src/dialogs/GlobalSettingsDialog.ec:1167
 #: ./src/dialogs/WorkspaceSettings.ec:6
 msgid "Workspace"
 msgstr "Workspace"
@@ -2063,7 +2087,7 @@ msgstr "Workspace Load File Error"
 msgid "Workspace load file failed"
 msgstr "Workspace load file failed"
 
-#: ./src/ProjectSettings.ec:1756
+#: ./src/ProjectSettings.ec:1814
 msgid "Would you like to save changes made to the build options?"
 msgstr "Would you like to save changes made to the build options?"
 
@@ -2075,11 +2099,11 @@ msgstr "Would you like to save changes made to the project options?"
 msgid "Would you like to save changes made to the workspace options?"
 msgstr "Would you like to save changes made to the workspace options?"
 
-#: ./src/project/Project.ec:1471
+#: ./src/project/Project.ec:1501
 msgid "Writing symbol loader...\n"
 msgstr "Writing symbol loader...\n"
 
-#: ./src/project/ProjectView.ec:460
+#: ./src/project/ProjectView.ec:470
 msgid "You have modified projects.\nSave changes to "
 msgstr "You have modified projects.\nSave changes to "
 
@@ -2095,12 +2119,12 @@ msgstr "You must provide a valid source directory in order to place a breakpoint
 msgid "You must specify a search location."
 msgstr "You must specify a search location."
 
-#: ./src/project/Project.ec:1323
-#: ./src/project/Project.ec:1585
+#: ./src/project/Project.ec:1347
+#: ./src/project/Project.ec:1615
 msgid "\nBuild cancelled by user.\n"
 msgstr "\nBuild cancelled by user.\n"
 
-#: ./src/dialogs/GlobalSettingsDialog.ec:940
+#: ./src/dialogs/GlobalSettingsDialog.ec:964
 msgid "distcc hosts"
 msgstr "distcc hosts"
 
@@ -2140,11 +2164,11 @@ msgstr "err: Unable to create FIFO %s\n"
 msgid "err: Unable to open FIFO %s for read\n"
 msgstr "err: Unable to open FIFO %s for read\n"
 
-#: ./src/project/Project.ec:1600
+#: ./src/project/Project.ec:1630
 msgid "error"
 msgstr "error"
 
-#: ./src/project/Project.ec:1600
+#: ./src/project/Project.ec:1630
 msgid "errors"
 msgstr "errors"
 
@@ -2162,15 +2186,15 @@ msgstr "found"
 msgid "inside %s, %s\n"
 msgstr "inside %s, %s\n"
 
-#: ./src/project/Project.ec:1602
+#: ./src/project/Project.ec:1632
 msgid "no error, "
 msgstr "no error, "
 
-#: ./src/project/Project.ec:1607
+#: ./src/project/Project.ec:1637
 msgid "no warning\n"
 msgstr "no warning\n"
 
-#: ./src/project/ProjectView.ec:1772
+#: ./src/project/ProjectView.ec:1800
 msgid "not added because of identical file name conflict within the project.\n\n"
 msgstr "not added because of identical file name conflict within the project.\n\n"
 
@@ -2183,7 +2207,7 @@ msgstr "replaced"
 msgid "s"
 msgstr "s"
 
-#: ./src/project/ProjectView.ec:1771
+#: ./src/project/ProjectView.ec:1799
 msgid "s were "
 msgstr "s were "
 
@@ -2191,15 +2215,15 @@ msgstr "s were "
 msgid "unknown source\n"
 msgstr "unknown source\n"
 
-#: ./src/project/Project.ec:1605
+#: ./src/project/Project.ec:1635
 msgid "warning"
 msgstr "warning"
 
-#: ./src/project/Project.ec:1605
+#: ./src/project/Project.ec:1635
 msgid "warnings"
 msgstr "warnings"
 
-#: ./src/project/ProjectView.ec:556
+#: ./src/project/ProjectView.ec:566
 msgid "{problem with compiler selection}"
 msgstr "{problem with compiler selection}"
 
index c789e32..4292372 100755 (executable)
@@ -2076,7 +2076,7 @@ private:
             f.Puts("\n");
 
             f.Puts("# HARD CODED TARGET_PLATFORM-SPECIFIC OPTIONS\n");
-            f.Printf("LDFLAGS +=$(if $(%s), -Wl,--no-undefined,)\n", PlatformToMakefileTargetVariable(tux));
+            f.Printf("LDFLAGS +=$(if $(%s), -Wl$(comma)--no-undefined,)\n", PlatformToMakefileTargetVariable(tux));
             f.Puts("\n");
 
             // JF's
@@ -2759,7 +2759,6 @@ private:
 
          f.Puts("distclean:\n");
          f.Puts("\t$(call rmrq,obj/)\n");
-         f.Puts("\n");
 
          delete f;
 
diff --git a/include.mk b/include.mk
deleted file mode 100644 (file)
index 68af6ef..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# TOOLCHAIN
-export CC      = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)gcc$(_SYSROOT)
-export CPP     = $(CCACHE_COMPILE)$(DISTCC_COMPILE)$(GCC_PREFIX)cpp$(_SYSROOT)
-export AS      = $(GCC_PREFIX)as
-export LD      = $(GCC_PREFIX)ld
-export AR      = $(GCC_PREFIX)ar
-export STRIP   = $(GCC_PREFIX)strip
-UPX := upx
-
-ifeq "$(HOST_ARCH)" "ARM"
-FORCE_64_BIT =
-FORCE_32_BIT =
-else
-FORCE_64_BIT = -m64
-FORCE_32_BIT = -m32
-endif
-
-# HARD CODED PLATFORM-SPECIFIC OPTIONS
-LDFLAGS +=$(if $(LINUX_TARGET), -Wl,--no-undefined,)
-LDFLAGS +=$(if $(OSX_TARGET), -framework cocoa -framework OpenGL,)
-
-# FLAGS
-
-UPXFLAGS = -9 -q
-
-CFLAGS += -fmessage-length=0
-
-EARFLAGS = awq