diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2010-02-21 21:38:02 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2010-02-21 21:38:02 +0000 |
| commit | f3b09c3de55d6bfcc60665eaa9a89400474bc6cb (patch) | |
| tree | bc01919b774281bb64660710b573b1369d726522 | |
| parent | cdfefaed888f722b7546460bee2df14ebdeff8ed (diff) | |
Much improved automated Xcode3 IDE built. These are the files for creating the IDE. I will replace the Xcode 3 IDE itself in the next step.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7131 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | fluid/Fl_Function_Type.cxx | 3 | ||||
| -rw-r--r-- | fluid/ide_xcode.cxx | 177 |
2 files changed, 176 insertions, 4 deletions
diff --git a/fluid/Fl_Function_Type.cxx b/fluid/Fl_Function_Type.cxx index 6a56df85c..30a3b725e 100644 --- a/fluid/Fl_Function_Type.cxx +++ b/fluid/Fl_Function_Type.cxx @@ -739,8 +739,7 @@ Fl_Type *Fl_Data_Type::make() { o->public_ = 1; o->static_ = 1; o->filename_ = 0; - char buf[32]; sprintf(buf, "data_%016lx", (unsigned long int)o); - o->name(buf); + o->name("myBinaryData"); o->add(p); o->factory = this; return o; diff --git a/fluid/ide_xcode.cxx b/fluid/ide_xcode.cxx index e9a68c9f4..14eb706bc 100644 --- a/fluid/ide_xcode.cxx +++ b/fluid/ide_xcode.cxx @@ -25,6 +25,8 @@ // http://www.fltk.org/str.php // +#define XCODE_DEFAULT 1 + /* XCODE 3.0 IDE FILES @@ -1018,6 +1020,16 @@ public: fprintf(out, "\t\t%s /* Debug */ = {\n", xcBuildConfigurationDebugID); fprintf(out, "\t\t\tisa = XCBuildConfiguration;\n"); fprintf(out, "\t\t\tbuildSettings = {\n"); +#ifdef XCODE_DEFAULT + fprintf(out, "\t\t\t\tARCHS = \"$(ARCHS_STANDARD_32_64_BIT)\";\n"); + fprintf(out, "\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n"); + fprintf(out, "\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n"); + fprintf(out, "\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n"); + fprintf(out, "\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n"); + fprintf(out, "\t\t\t\tONLY_ACTIVE_ARCH = YES;\n"); + fprintf(out, "\t\t\t\tPREBINDING = NO;\n"); + fprintf(out, "\t\t\t\tSDKROOT = macosx10.5;\n"); +#else fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = NO;\n"); fprintf(out, "\t\t\t\tGCC_ENABLE_TRIGRAPHS = YES;\n"); fprintf(out, "\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n"); @@ -1029,6 +1041,7 @@ public: fprintf(out, "\t\t\t\tSDKROOT = \"$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk\";\n"); fprintf(out, "\t\t\t\tUSER_HEADER_SEARCH_PATHS = ../../jpeg;\n"); fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"\";\n"); +#endif fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Debug;\n"); fprintf(out, "\t\t};\n"); @@ -1036,6 +1049,14 @@ public: fprintf(out, "\t\t%s /* Release */ = {\n", xcBuildConfigurationReleaseID); fprintf(out, "\t\t\tisa = XCBuildConfiguration;\n"); fprintf(out, "\t\t\tbuildSettings = {\n"); +#ifdef XCODE_DEFAULT + fprintf(out, "\t\t\t\tARCHS = \"$(ARCHS_STANDARD_32_64_BIT)\";\n"); + fprintf(out, "\t\t\t\tGCC_C_LANGUAGE_STANDARD = gnu99;\n"); + fprintf(out, "\t\t\t\tGCC_WARN_ABOUT_RETURN_TYPE = YES;\n"); + fprintf(out, "\t\t\t\tGCC_WARN_UNUSED_VARIABLE = YES;\n"); + fprintf(out, "\t\t\t\tPREBINDING = NO;\n"); + fprintf(out, "\t\t\t\tSDKROOT = macosx10.5;\n"); +#else fprintf(out, "\t\t\t\tARCHS = \"$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)\";\n"); fprintf(out, "\t\t\t\tARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = \"ppc i386 x86_64\";\n"); fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = YES;\n"); @@ -1049,6 +1070,7 @@ public: fprintf(out, "\t\t\t\tUSER_HEADER_SEARCH_PATHS = ../../jpeg;\n"); fprintf(out, "\t\t\t\tVALID_ARCHS = \"i386 ppc x86_64\";\n"); fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"\";\n"); +#endif fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Release;\n"); fprintf(out, "\t\t};\n"); @@ -1064,6 +1086,33 @@ public: fprintf(out, "\t\t%s /* Debug */ = {\n", xcBuildConfigurationDebugID); fprintf(out, "\t\t\tisa = XCBuildConfiguration;\n"); fprintf(out, "\t\t\tbuildSettings = {\n"); +#ifdef XCODE_DEFAULT + fprintf(out, "\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n"); + fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = NO;\n"); + fprintf(out, "\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n"); + fprintf(out, "\t\t\t\tGCC_ENABLE_FIX_AND_CONTINUE = YES;\n"); + fprintf(out, "\t\t\t\tGCC_MODEL_TUNING = G5;\n"); + fprintf(out, "\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n"); + fprintf(out, "\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = fltk.pch;\n"); + fprintf(out, "\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = \"USING_XCODE=1\";\n"); + fprintf(out, "\t\t\t\tHEADER_SEARCH_PATHS = (\n"); + fprintf(out, "\t\t\t\t\t../../ide/XCode3/,\n"); + fprintf(out, "\t\t\t\t\t../../,\n"); + fprintf(out, "\t\t\t\t\t../../png,\n"); + fprintf(out, "\t\t\t\t\t../../jpeg,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tINFOPLIST_FILE = \"plists/%s-Info.plist\";\n", name); + fprintf(out, "\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n"); + fprintf(out, "\t\t\t\tOTHER_LDFLAGS = (\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCocoa,\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCarbon,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tPRODUCT_NAME = %s;\n", name); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); +#else fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = NO;\n"); fprintf(out, "\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n"); fprintf(out, "\t\t\t\tGCC_ENABLE_FIX_AND_CONTINUE = YES;\n"); @@ -1092,6 +1141,7 @@ public: fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); fprintf(out, "\t\t\t\tWRAPPER_EXTENSION = app;\n"); fprintf(out, "\t\t\t\tZERO_LINK = YES;\n"); +#endif fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Debug;\n"); fprintf(out, "\t\t};\n"); @@ -1099,6 +1149,30 @@ public: fprintf(out, "\t\t%s /* Release */ = {\n", xcBuildConfigurationReleaseID); fprintf(out, "\t\t\tisa = XCBuildConfiguration;\n"); fprintf(out, "\t\t\tbuildSettings = {\n"); +#ifdef XCODE_DEFAULT + fprintf(out, "\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n"); + fprintf(out, "\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n"); + fprintf(out, "\t\t\t\tGCC_MODEL_TUNING = G5;\n"); + fprintf(out, "\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = fltk.pch;\n"); + fprintf(out, "\t\t\t\tGCC_PREPROCESSOR_DEFINITIONS = \"USING_XCODE=1\";\n"); + fprintf(out, "\t\t\t\tHEADER_SEARCH_PATHS = (\n"); + fprintf(out, "\t\t\t\t\t../../ide/XCode3/,\n"); + fprintf(out, "\t\t\t\t\t../../,\n"); + fprintf(out, "\t\t\t\t\t../../png,\n"); + fprintf(out, "\t\t\t\t\t../../jpeg,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tINFOPLIST_FILE = \"plists/%s-Info.plist\";\n", name); + fprintf(out, "\t\t\t\tINSTALL_PATH = \"$(HOME)/Applications\";\n"); + fprintf(out, "\t\t\t\tOTHER_LDFLAGS = (\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCocoa,\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCarbon,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tPRODUCT_NAME = %s;\n", name); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); +#else fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = YES;\n"); fprintf(out, "\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n"); fprintf(out, "\t\t\t\tGCC_ENABLE_FIX_AND_CONTINUE = NO;\n"); @@ -1126,6 +1200,7 @@ public: fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); fprintf(out, "\t\t\t\tWRAPPER_EXTENSION = app;\n"); fprintf(out, "\t\t\t\tZERO_LINK = NO;\n"); +#endif fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Release;\n"); fprintf(out, "\t\t};\n"); @@ -1141,6 +1216,36 @@ public: fprintf(out, "\t\t%s /* Debug */ = {\n", xcBuildConfigurationDebugID); fprintf(out, "\t\t\tisa = XCBuildConfiguration;\n"); fprintf(out, "\t\t\tbuildSettings = {\n"); +#ifdef XCODE_DEFAULT + fprintf(out, "\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n"); + fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = NO;\n"); + fprintf(out, "\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n"); + fprintf(out, "\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n"); + fprintf(out, "\t\t\t\tFRAMEWORK_VERSION = A;\n"); + fprintf(out, "\t\t\t\tGCC_DYNAMIC_NO_PIC = NO;\n"); + fprintf(out, "\t\t\t\tGCC_ENABLE_FIX_AND_CONTINUE = YES;\n"); + fprintf(out, "\t\t\t\tGCC_MODEL_TUNING = G5;\n"); + fprintf(out, "\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n"); + fprintf(out, "\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = fltk.pch;\n"); + fprintf(out, "\t\t\t\tHEADER_SEARCH_PATHS = (\n"); + fprintf(out, "\t\t\t\t\t../../ide/XCode3/,\n"); + fprintf(out, "\t\t\t\t\t../../,\n"); + fprintf(out, "\t\t\t\t\t../../png,\n"); + fprintf(out, "\t\t\t\t\t../../jpeg,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tINFOPLIST_FILE = \"plists/%s-Info.plist\";\n", name); + fprintf(out, "\t\t\t\tINSTALL_PATH = \"@executable_path/../Frameworks\";\n"); + fprintf(out, "\t\t\t\tOTHER_LDFLAGS = (\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCocoa,\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCarbon,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tPREBINDING = NO;\n"); + fprintf(out, "\t\t\t\tPRODUCT_NAME = %s;\n", name); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); +#else fprintf(out, "\t\t\t\tALWAYS_SEARCH_USER_PATHS = YES;\n"); fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = NO;\n"); fprintf(out, "\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n"); @@ -1171,6 +1276,7 @@ public: fprintf(out, "\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"\";\n"); fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); fprintf(out, "\t\t\t\tZERO_LINK = YES;\n"); +#endif fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Debug;\n"); fprintf(out, "\t\t};\n"); @@ -1178,6 +1284,36 @@ public: fprintf(out, "\t\t%s /* Release */ = {\n", xcBuildConfigurationReleaseID); fprintf(out, "\t\t\tisa = XCBuildConfiguration;\n"); fprintf(out, "\t\t\tbuildSettings = {\n"); +#ifdef XCODE_DEFAULT + fprintf(out, "\t\t\t\tALWAYS_SEARCH_USER_PATHS = NO;\n"); + fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = YES;\n"); + fprintf(out, "\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n"); + fprintf(out, "\t\t\t\tDYLIB_COMPATIBILITY_VERSION = 1;\n"); + fprintf(out, "\t\t\t\tDYLIB_CURRENT_VERSION = 1;\n"); + fprintf(out, "\t\t\t\tFRAMEWORK_VERSION = A;\n"); + fprintf(out, "\t\t\t\tGCC_ENABLE_FIX_AND_CONTINUE = NO;\n"); + fprintf(out, "\t\t\t\tGCC_MODEL_TUNING = G5;\n"); + fprintf(out, "\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = fltk.pch;\n"); + fprintf(out, "\t\t\t\tHEADER_SEARCH_PATHS = (\n"); + fprintf(out, "\t\t\t\t\t../../ide/XCode3/,\n"); + fprintf(out, "\t\t\t\t\t../../,\n"); + fprintf(out, "\t\t\t\t\t../../png,\n"); + fprintf(out, "\t\t\t\t\t../../jpeg,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tINFOPLIST_FILE = \"plists/%s-Info.plist\";\n", name); + fprintf(out, "\t\t\t\tINSTALL_PATH = \"@executable_path/../Frameworks\";\n"); + fprintf(out, "\t\t\t\tOTHER_LDFLAGS = (\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCocoa,\n"); + fprintf(out, "\t\t\t\t\t\"-framework\",\n"); + fprintf(out, "\t\t\t\t\tCarbon,\n"); + fprintf(out, "\t\t\t\t);\n"); + fprintf(out, "\t\t\t\tPREBINDING = NO;\n"); + fprintf(out, "\t\t\t\tPRODUCT_NAME = %s;\n", name); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); + fprintf(out, "\t\t\t\tZERO_LINK = NO;\n"); +#else fprintf(out, "\t\t\t\tALWAYS_SEARCH_USER_PATHS = YES;\n"); fprintf(out, "\t\t\t\tCOPY_PHASE_STRIP = YES;\n"); fprintf(out, "\t\t\t\tDEBUG_INFORMATION_FORMAT = \"dwarf-with-dsym\";\n"); @@ -1189,8 +1325,8 @@ public: fprintf(out, "\t\t\t\tGCC_MODEL_TUNING = G5;\n"); fprintf(out, "\t\t\t\tGCC_PFE_FILE_C_DIALECTS = \"c c++ objective-c++\";\n"); fprintf(out, "\t\t\t\tHEADER_SEARCH_PATHS = (\n"); - fprintf(out, "\t\t\t\t../../ide/XCode3/,\n"); - fprintf(out, "\t\t\t\t../../,\n"); + fprintf(out, "\t\t\t\t\t../../ide/XCode3/,\n"); + fprintf(out, "\t\t\t\t\t../../,\n"); fprintf(out, "\t\t\t\t\t../../png,\n"); fprintf(out, "\t\t\t\t\t../../jpeg,\n"); fprintf(out, "\t\t\t\t);\n"); @@ -1209,6 +1345,7 @@ public: fprintf(out, "\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"\";\n"); fprintf(out, "\t\t\t\tWARNING_CFLAGS = (\"-Wno-format-security\",\"-Wall\");\n"); fprintf(out, "\t\t\t\tZERO_LINK = NO;\n"); +#endif fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Release;\n"); fprintf(out, "\t\t};\n"); @@ -1370,6 +1507,14 @@ public: return 0; } + int writePCH(const char *filename) { + FILE *f = fopen(filename, "wb"); + fputs("//\n// Prefix header for all source files\n//\n\n" + "#ifdef __OBJC__\n#import <Cocoa/Cocoa.h>\n#endif\n\n", f); + fclose(f); + return 0; + } + int createIcons(const char *filepath) { // FIXME: LATER: create a minimum set of icon files? return 0; @@ -1389,6 +1534,31 @@ public: fprintf(f, "<dict>\n"); fprintf(f, "\t<key>CFBundleDevelopmentRegion</key>\n"); fprintf(f, "\t<string>English</string>\n"); + if (strcmp(name, "Fluid")==0) { // TODO: this option is not yet in the database + fprintf(f, "\t<key>CFBundleDocumentTypes</key>\n"); + fprintf(f, "\t<array>\n"); + fprintf(f, "\t\t<dict>\n"); + fprintf(f, "\t\t\t<key>CFBundleTypeExtensions</key>\n"); + fprintf(f, "\t\t\t<array>\n"); + fprintf(f, "\t\t\t\t<string>fl</string>\n"); + fprintf(f, "\t\t\t</array>\n"); + fprintf(f, "\t\t\t<key>CFBundleTypeIconFile</key>\n"); + fprintf(f, "\t\t\t<string>fluid_doc</string>\n"); + fprintf(f, "\t\t\t<key>CFBundleTypeName</key>\n"); + fprintf(f, "\t\t\t<string>Fluid Documents</string>\n"); + fprintf(f, "\t\t\t<key>CFBundleTypeOSTypes</key>\n"); + fprintf(f, "\t\t\t<array>\n"); + fprintf(f, "\t\t\t\t<string>flid</string>\n"); + fprintf(f, "\t\t\t</array>\n"); + fprintf(f, "\t\t\t<key>CFBundleTypeRole</key>\n"); + fprintf(f, "\t\t\t<string>Editor</string>\n"); + fprintf(f, "\t\t\t<key>LSTypeIsPackage</key>\n"); + fprintf(f, "\t\t\t<false/>\n"); + fprintf(f, "\t\t\t<key>NSPersistentStoreTypeKey</key>\n"); + fprintf(f, "\t\t\t<string>Binary</string>\n"); + fprintf(f, "\t\t</dict>\n"); + fprintf(f, "\t</array>\n"); + } fprintf(f, "\t<key>CFBundleExecutable</key>\n"); fprintf(f, "\t<string>${EXECUTABLE_NAME}</string>\n"); // find the first suitable icon file if there is one @@ -1456,6 +1626,9 @@ public: // --- create a valid config.h sprintf(filepath, "%s/ide/Xcode3/config.h", rootDir); writeConfigH(filepath); + // --- create a valid fltk.pch + sprintf(filepath, "%s/ide/Xcode3/fltk.pch", rootDir); + writePCH(filepath); // --- FIXME: LATER: create default icons (maybe import icons for apps?) sprintf(filepath, "%s/ide/Xcode3/icons", rootDir); fl_mkdir(filepath, 0777); createIcons(filepath); |
