diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2010-02-20 21:14:47 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2010-02-20 21:14:47 +0000 |
| commit | 2f82fd066321cde3e225fc87a9469849215413eb (patch) | |
| tree | 0fb84acd8268a37ab45c2f2b3c358f6c962e75ea /fluid | |
| parent | 7ae0c170ad2f63ac7e27d0496cd9c167e2bd0cbd (diff) | |
Mixed bag. Please see CHANGES.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7117 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'fluid')
| -rw-r--r-- | fluid/Fl_Function_Type.cxx | 3 | ||||
| -rw-r--r-- | fluid/Fl_Type.h | 4 | ||||
| -rw-r--r-- | fluid/fluid.cxx | 28 | ||||
| -rw-r--r-- | fluid/ide_support.cxx | 454 | ||||
| -rw-r--r-- | fluid/ide_support.h | 6 | ||||
| -rw-r--r-- | fluid/ide_xcode.cxx | 174 |
6 files changed, 425 insertions, 244 deletions
diff --git a/fluid/Fl_Function_Type.cxx b/fluid/Fl_Function_Type.cxx index 6cde5e680..bcaaf875b 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_%08x", (unsigned int)o); - char buf[32]; sprintf(buf, "data_%p", o); + char buf[32]; sprintf(buf, "data_%016x", (unsigned long int)o); o->name(buf); o->add(p); o->factory = this; diff --git a/fluid/Fl_Type.h b/fluid/Fl_Type.h index b8d860373..9390a23e7 100644 --- a/fluid/Fl_Type.h +++ b/fluid/Fl_Type.h @@ -821,6 +821,10 @@ public: virtual const char *help() = 0; // handle a command and return the number of args used, or 0 virtual int arg(int argc, char **argv, int &i) = 0; + // optional test the plugin + virtual int test(const char *a1=0L, const char *a2=0L, const char *a3=0L) { + return 0; + } }; diff --git a/fluid/fluid.cxx b/fluid/fluid.cxx index 774bad231..92786fe10 100644 --- a/fluid/fluid.cxx +++ b/fluid/fluid.cxx @@ -1572,6 +1572,32 @@ void print_cb(Fl_Return_Button *, void *) { } #endif // WIN32 && !__CYGWIN__ +void fltkdb_cb(Fl_Widget*, void*) +{ + int i; + Fl_Plugin_Manager pm("commandline"); + for (i=0; i<pm.plugins(); i++) { + Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin(i); + if (strcmp(pi->name(), "FltkDB.fluid.fltk.org")==0) { + pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db"); + break; + } + } +} + +void dbxcode_cb(Fl_Widget*, void*) +{ + int i; + Fl_Plugin_Manager pm("commandline"); + for (i=0; i<pm.plugins(); i++) { + Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin(i); + if (strcmp(pi->name(), "ideXcode.fluid.fltk.org")==0) { + pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db", "/Users/matt/dev/fltk-test"); + break; + } + } +} + //////////////////////////////////////////////////////////////// extern Fl_Menu_Item New_Menu[]; @@ -1666,6 +1692,8 @@ Fl_Menu_Item Main_Menu[] = { {"&Shell",0,0,0,FL_SUBMENU}, {"Execute &Command...",FL_ALT+'x',(Fl_Callback *)show_shell_window}, {"Execute &Again...",FL_ALT+'g',(Fl_Callback *)do_shell_command}, + {"--fltkdb",0,(Fl_Callback *)fltkdb_cb,0,FL_MENU_INVISIBLE}, + {"--dbxcode",0,(Fl_Callback *)dbxcode_cb,0,FL_MENU_INVISIBLE}, {0}, {"&Help",0,0,0,FL_SUBMENU}, {"&About FLUID...",0,about_cb}, diff --git a/fluid/ide_support.cxx b/fluid/ide_support.cxx index d8a528efd..b2daa8f74 100644 --- a/fluid/ide_support.cxx +++ b/fluid/ide_support.cxx @@ -202,7 +202,7 @@ Fl_Preferences::ID Fl_Target_Prefs::add_fl(Fl_IDE_Prefs &fdb, const char *pathAn Fl_Preferences::ID Fl_Target_Prefs::depends_on(Fl_IDE_Prefs &dep) { Fl_IDE_Prefs p(*this, "deps"); - Fl_Preferences d(p.add_with_key("refUUID", dep.name())); + return p.add_with_key("refUUID", dep.name()); } Fl_Preferences::ID Fl_Target_Prefs::add_lib(Fl_IDE_Prefs &lib) { @@ -211,9 +211,8 @@ Fl_Preferences::ID Fl_Target_Prefs::add_lib(Fl_IDE_Prefs &lib) { return p.add_with_key("refUUID", lib.name()); } -Fl_Preferences::ID Fl_Target_Prefs::add_external_lib(Fl_IDE_Prefs &fdb, const char *name) { - char buf[1024]; sprintf(buf, "%s.lib", name); - Fl_IDE_Prefs file(fdb.add_with_key("pathAndName", buf)); +Fl_Preferences::ID Fl_Target_Prefs::add_external_lib(Fl_IDE_Prefs &fdb, const char *pathAndName) { + Fl_IDE_Prefs file(fdb.add_with_key("pathAndName", pathAndName)); Fl_IDE_Prefs p(*this, "externals"); return p.add_with_key("refUUID", file.name()); } @@ -271,6 +270,11 @@ const char *Fl_File_Prefs::fileExt() { return pExt; } +void osx_only(Fl_Preferences::ID id) { + Fl_Preferences p(id); + p.set("only", "OS:OSX*"); // type:name#ver # is >, >=, <, <=, ==, !=, * +} + //============================================================================== // TODO: Find a good standard position for the database @@ -291,163 +295,171 @@ int create_new_database(const char *filename) Fl_Target_Prefs fltk_lib(libs_db.add_with_key("name", "fltk")); { fltk_lib.add_source(files_db, "src/Fl.cxx"); - fltk_lib.add_source(files_db, "src/Fl_get_system_colors.cxx"); - fltk_lib.add_source(files_db, "src/Fl_get_key.cxx"); - fltk_lib.add_source(files_db, "src/fl_font.cxx"); - fltk_lib.add_source(files_db, "src/Fl_File_Input.cxx"); - fltk_lib.add_source(files_db, "src/Fl_File_Icon.cxx"); - fltk_lib.add_source(files_db, "src/fl_file_dir.cxx"); - fltk_lib.add_source(files_db, "src/Fl_File_Chooser2.cxx"); - fltk_lib.add_source(files_db, "src/Fl_File_Chooser.cxx"); - fltk_lib.add_source(files_db, "src/Fl_File_Browser.cxx"); - fltk_lib.add_source(files_db, "src/fl_engraved_label.cxx"); - fltk_lib.add_source(files_db, "src/fl_encoding_mac_roman.cxx"); - fltk_lib.add_source(files_db, "src/fl_draw_pixmap.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Adjuster.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Bitmap.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Box.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Browser.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Browser_.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Browser_load.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Button.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Chart.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Check_Browser.cxx"); fltk_lib.add_source(files_db, "src/Fl_Check_Button.cxx"); - fltk_lib.add_source(files_db, "src/fl_dnd.cxx"); - fltk_lib.add_source(files_db, "src/Fl_display.cxx"); - fltk_lib.add_source(files_db, "src/fl_diamond_box.cxx"); - fltk_lib.add_source(files_db, "src/fl_set_fonts.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Window_fullscreen.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Window.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Widget.cxx"); - fltk_lib.add_source(files_db, "src/Fl_visual.cxx"); - fltk_lib.add_source(files_db, "src/fl_vertex.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Round_Button.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tooltip.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Window_iconize.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Window_hotspot.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Text_Display.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Scroll.cxx"); fltk_lib.add_source(files_db, "src/Fl_Choice.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Clock.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Color_Chooser.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Counter.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Dial.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Double_Window.cxx"); + fltk_lib.add_source(files_db, "src/Fl_File_Browser.cxx"); + fltk_lib.add_source(files_db, "src/Fl_File_Chooser.cxx"); + fltk_lib.add_source(files_db, "src/Fl_File_Chooser2.cxx"); + fltk_lib.add_source(files_db, "src/Fl_File_Icon.cxx"); + fltk_lib.add_source(files_db, "src/Fl_File_Input.cxx"); fltk_lib.add_source(files_db, "src/Fl_Group.cxx"); - fltk_lib.add_source(files_db, "src/fl_rounded_box.cxx"); - fltk_lib.add_source(files_db, "src/fl_overlay_visual.cxx"); - fltk_lib.add_source(files_db, "src/fl_shortcut.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Shared_Image.cxx"); - fltk_lib.add_source(files_db, "src/flstring.c"); - fltk_lib.add_source(files_db, "src/Fl_grab.cxx"); - fltk_lib.add_source(files_db, "src/Fl_arg.cxx"); - fltk_lib.add_source(files_db, "src/cmap.cxx"); - fltk_lib.add_source(files_db, "src/Fl_XPM_Image.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Help_View.cxx"); fltk_lib.add_source(files_db, "src/Fl_Image.cxx"); fltk_lib.add_source(files_db, "src/Fl_Input.cxx"); - fltk_lib.add_source(files_db, "src/fl_scroll_area.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tiled_Image.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tile.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Text_Editor.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Overlay_Window.cxx"); - fltk_lib.add_source(files_db, "src/Fl_own_colormap.cxx"); - fltk_lib.add_source(files_db, "src/filename_expand.cxx"); - fltk_lib.add_source(files_db, "src/filename_absolute.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Menu_.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Input_.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Light_Button.cxx"); fltk_lib.add_source(files_db, "src/Fl_Menu.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Multi_Label.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Menu_Window.cxx"); - fltk_lib.add_source(files_db, "src/Fl.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Dial.cxx"); - fltk_lib.add_source(files_db, "src/fl_curve.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Menu_global.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Menu_Button.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Menu_.cxx"); fltk_lib.add_source(files_db, "src/Fl_Menu_Bar.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Menu_Button.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Menu_Window.cxx"); fltk_lib.add_source(files_db, "src/Fl_Menu_add.cxx"); - fltk_lib.add_source(files_db, "src/filename_list.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Browser.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Value_Input.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Valuator.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Button.cxx"); - fltk_lib.add_source(files_db, "src/fl_read_image.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Progress.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Preferences.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Menu_global.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Multi_Label.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Native_File_Chooser.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Native_File_Chooser_common.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Overlay_Window.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Pack.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Pixmap.cxx"); fltk_lib.add_source(files_db, "src/Fl_Positioner.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Preferences.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Progress.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Repeat_Button.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Return_Button.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Roller.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Round_Button.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Scroll.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Scrollbar.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Shared_Image.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Single_Window.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Slider.cxx"); fltk_lib.add_source(files_db, "src/Fl_Sys_Menu_Bar.cxx"); - fltk_lib.add_source(files_db, "src/fl_symbols.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Light_Button.cxx"); - fltk_lib.add_source(files_db, "src/fl_labeltype.cxx"); - fltk_lib.add_source(files_db, "src/fl_draw.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Double_Window.cxx"); - fltk_lib.add_source(files_db, "src/Fl_XBM_Image.cxx"); - fltk_lib.add_source(files_db, "src/Fl_x.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Table.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Table_Row.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tabs.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Text_Buffer.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Text_Display.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Text_Editor.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tile.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tiled_Image.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tooltip.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tree.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tree_Item.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tree_Item_Array.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Tree_Prefs.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Valuator.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Value_Input.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Value_Output.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Value_Slider.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Widget.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Window.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Window_fullscreen.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Window_hotspot.cxx"); + fltk_lib.add_source(files_db, "src/Fl_Window_iconize.cxx"); fltk_lib.add_source(files_db, "src/Fl_Wizard.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Help_View.cxx"); - fltk_lib.add_source(files_db, "src/fl_open_uri.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Input_.cxx"); - fltk_lib.add_source(files_db, "src/fl_line_style.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Adjuster.cxx"); - fltk_lib.add_source(files_db, "src/fl_rect.cxx"); - fltk_lib.add_source(files_db, "src/fl_arc.cxx"); - fltk_lib.add_source(files_db, "src/filename_ext.cxx"); - fltk_lib.add_source(files_db, "src/fl_set_font.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Scrollbar.cxx"); + fltk_lib.add_source(files_db, "src/Fl_XBM_Image.cxx"); + fltk_lib.add_source(files_db, "src/Fl_XPM_Image.cxx"); fltk_lib.add_source(files_db, "src/Fl_abort.cxx"); - fltk_lib.add_source(files_db, "src/fl_overlay.cxx"); - fltk_lib.add_source(files_db, "src/fl_oval_box.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Text_Buffer.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tabs.cxx"); + fltk_lib.add_source(files_db, "src/Fl_add_idle.cxx"); + fltk_lib.add_source(files_db, "src/Fl_arg.cxx"); + fltk_lib.add_source(files_db, "src/Fl_compose.cxx"); + fltk_lib.add_source(files_db, "src/Fl_display.cxx"); + fltk_lib.add_source(files_db, "src/Fl_get_key.cxx"); + fltk_lib.add_source(files_db, "src/Fl_get_system_colors.cxx"); + fltk_lib.add_source(files_db, "src/Fl_grab.cxx"); fltk_lib.add_source(files_db, "src/Fl_lock.cxx"); - fltk_lib.add_source(files_db, "src/fl_cursor.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Counter.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Check_Browser.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Bitmap.cxx"); + fltk_lib.add_source(files_db, "src/Fl_own_colormap.cxx"); + fltk_lib.add_source(files_db, "src/Fl_visual.cxx"); + fltk_lib.add_source(files_db, "src/Fl_x.cxx"); + fltk_lib.add_source(files_db, "src/cmap.cxx"); + fltk_lib.add_source(files_db, "src/filename_absolute.cxx"); + fltk_lib.add_source(files_db, "src/filename_expand.cxx"); + fltk_lib.add_source(files_db, "src/filename_ext.cxx"); fltk_lib.add_source(files_db, "src/filename_isdir.cxx"); + fltk_lib.add_source(files_db, "src/filename_list.cxx"); fltk_lib.add_source(files_db, "src/filename_match.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Slider.cxx"); - fltk_lib.add_source(files_db, "src/fl_draw_image.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Browser_load.cxx"); - fltk_lib.add_source(files_db, "src/fl_round_box.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Roller.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Return_Button.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Repeat_Button.cxx"); - fltk_lib.add_source(files_db, "src/Fl_add_idle.cxx"); - fltk_lib.add_source(files_db, "src/fl_plastic.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Pixmap.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Pack.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Browser_.cxx"); - fltk_lib.add_source(files_db, "src/scandir.c"); - fltk_lib.add_source(files_db, "src/numericsort.c"); - fltk_lib.add_source(files_db, "src/Fl_Box.cxx"); - fltk_lib.add_source(files_db, "src/fl_call_main.c"); - fltk_lib.add_source(files_db, "src/vsnprintf.c"); - fltk_lib.add_source(files_db, "src/screen_xywh.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Single_Window.cxx"); - fltk_lib.add_source(files_db, "src/fl_show_colormap.cxx"); - fltk_lib.add_source(files_db, "src/fl_encoding_latin1.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Chart.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Value_Slider.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Value_Output.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Color_Chooser.cxx"); - fltk_lib.add_source(files_db, "src/fl_color.cxx"); - fltk_lib.add_source(files_db, "src/fl_arci.cxx"); fltk_lib.add_source(files_db, "src/filename_setext.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Clock.cxx"); + fltk_lib.add_source(files_db, "src/fl_arc.cxx"); + fltk_lib.add_source(files_db, "src/fl_arci.cxx"); fltk_lib.add_source(files_db, "src/fl_ask.cxx"); fltk_lib.add_source(files_db, "src/fl_boxtype.cxx"); + fltk_lib.add_source(files_db, "src/fl_call_main.c"); + fltk_lib.add_source(files_db, "src/fl_color.cxx"); + fltk_lib.add_source(files_db, "src/fl_cursor.cxx"); + fltk_lib.add_source(files_db, "src/fl_curve.cxx"); + fltk_lib.add_source(files_db, "src/fl_diamond_box.cxx"); + fltk_lib.add_source(files_db, "src/fl_dnd.cxx"); + fltk_lib.add_source(files_db, "src/fl_draw.cxx"); + fltk_lib.add_source(files_db, "src/fl_draw_image.cxx"); + fltk_lib.add_source(files_db, "src/fl_draw_pixmap.cxx"); + fltk_lib.add_source(files_db, "src/fl_encoding_latin1.cxx"); + fltk_lib.add_source(files_db, "src/fl_encoding_mac_roman.cxx"); + fltk_lib.add_source(files_db, "src/fl_engraved_label.cxx"); + fltk_lib.add_source(files_db, "src/fl_file_dir.cxx"); + fltk_lib.add_source(files_db, "src/fl_font.cxx"); fltk_lib.add_source(files_db, "src/fl_gtk.cxx"); - fltk_lib.add_source(files_db, "src/Fl_compose.cxx"); + fltk_lib.add_source(files_db, "src/fl_labeltype.cxx"); + fltk_lib.add_source(files_db, "src/fl_line_style.cxx"); + fltk_lib.add_source(files_db, "src/fl_open_uri.cxx"); + fltk_lib.add_source(files_db, "src/fl_oval_box.cxx"); + fltk_lib.add_source(files_db, "src/fl_overlay.cxx"); + fltk_lib.add_source(files_db, "src/fl_overlay_visual.cxx"); + fltk_lib.add_source(files_db, "src/fl_plastic.cxx"); + fltk_lib.add_source(files_db, "src/fl_read_image.cxx"); + fltk_lib.add_source(files_db, "src/fl_rect.cxx"); + fltk_lib.add_source(files_db, "src/fl_round_box.cxx"); + fltk_lib.add_source(files_db, "src/fl_rounded_box.cxx"); + fltk_lib.add_source(files_db, "src/fl_scroll_area.cxx"); + fltk_lib.add_source(files_db, "src/fl_set_font.cxx"); + fltk_lib.add_source(files_db, "src/fl_set_fonts.cxx"); fltk_lib.add_source(files_db, "src/fl_shadow_box.cxx"); + fltk_lib.add_source(files_db, "src/fl_shortcut.cxx"); + fltk_lib.add_source(files_db, "src/fl_show_colormap.cxx"); + fltk_lib.add_source(files_db, "src/fl_symbols.cxx"); fltk_lib.add_source(files_db, "src/fl_utf.c"); fltk_lib.add_source(files_db, "src/fl_utf8.cxx"); + fltk_lib.add_source(files_db, "src/fl_vertex.cxx"); + fltk_lib.add_source(files_db, "src/flstring.c"); + fltk_lib.add_source(files_db, "src/numericsort.c"); + fltk_lib.add_source(files_db, "src/scandir.c"); + fltk_lib.add_source(files_db, "src/screen_xywh.cxx"); + fltk_lib.add_source(files_db, "src/vsnprintf.c"); fltk_lib.add_source(files_db, "src/xutf8/case.c"); fltk_lib.add_source(files_db, "src/xutf8/is_right2left.c"); fltk_lib.add_source(files_db, "src/xutf8/is_spacing.c"); - fltk_lib.add_source(files_db, "src/Fl_Table_Row.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Table.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tree_Item_Array.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tree_Item.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tree_Prefs.cxx"); - fltk_lib.add_source(files_db, "src/Fl_Tree.cxx"); } - Fl_Target_Prefs fltk_forms_lib(libs_db.add_with_key("name", "fltk_forms")); { - fltk_forms_lib.add_source(files_db, "src/forms_bitmap.cxx"); - fltk_forms_lib.add_source(files_db, "src/forms_compatability.cxx"); - fltk_forms_lib.add_source(files_db, "src/forms_free.cxx"); - fltk_forms_lib.add_source(files_db, "src/forms_fselect.cxx"); - fltk_forms_lib.add_source(files_db, "src/forms_pixmap.cxx"); - fltk_forms_lib.add_source(files_db, "src/forms_timer.cxx"); - fltk_forms_lib.add_lib(fltk_lib); + + Fl_Target_Prefs fltk_gl_lib(libs_db.add_with_key("name", "fltk_gl")); { + fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Choice.cxx"); + fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Overlay.cxx"); + fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Window.cxx"); + fltk_gl_lib.add_source(files_db, "src/freeglut_geometry.cxx"); + fltk_gl_lib.add_source(files_db, "src/freeglut_stroke_mono_roman.cxx"); + fltk_gl_lib.add_source(files_db, "src/freeglut_stroke_roman.cxx"); + fltk_gl_lib.add_source(files_db, "src/freeglut_teapot.cxx"); + fltk_gl_lib.add_source(files_db, "src/gl_draw.cxx"); + fltk_gl_lib.add_source(files_db, "src/glut_compatability.cxx"); + fltk_gl_lib.add_source(files_db, "src/glut_font.cxx"); + osx_only(fltk_gl_lib.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(fltk_gl_lib.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); + fltk_gl_lib.add_lib(fltk_lib); } + Fl_Target_Prefs fltk_images_lib(libs_db.add_with_key("name", "fltk_images")); { - fltk_images_lib.add_source(files_db, "src/fl_images_core.cxx"); fltk_images_lib.add_source(files_db, "src/Fl_BMP_Image.cxx"); fltk_images_lib.add_source(files_db, "src/Fl_File_Icon2.cxx"); fltk_images_lib.add_source(files_db, "src/Fl_GIF_Image.cxx"); @@ -455,111 +467,114 @@ int create_new_database(const char *filename) fltk_images_lib.add_source(files_db, "src/Fl_JPEG_Image.cxx"); fltk_images_lib.add_source(files_db, "src/Fl_PNG_Image.cxx"); fltk_images_lib.add_source(files_db, "src/Fl_PNM_Image.cxx"); + fltk_images_lib.add_source(files_db, "src/fl_images_core.cxx"); fltk_images_lib.add_lib(fltk_lib); + fltk_gl_lib.depends_on(fltk_lib); } - Fl_Target_Prefs fltk_gl_lib(libs_db.add_with_key("name", "fltk_gl")); { - fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Choice.cxx"); - fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Overlay.cxx"); - fltk_gl_lib.add_source(files_db, "src/Fl_Gl_Window.cxx"); - fltk_gl_lib.add_source(files_db, "src/gl_draw.cxx"); - fltk_gl_lib.add_source(files_db, "src/freeglut_stroke_roman.cxx"); - fltk_gl_lib.add_source(files_db, "src/freeglut_teapot.cxx"); - fltk_gl_lib.add_source(files_db, "src/freeglut_geometry.cxx"); - fltk_gl_lib.add_source(files_db, "src/glut_font.cxx"); - fltk_gl_lib.add_source(files_db, "src/freeglut_stroke_mono_roman.cxx"); - fltk_gl_lib.add_source(files_db, "src/glut_compatability.cxx"); - fltk_gl_lib.add_lib(fltk_lib); - } + Fl_Target_Prefs fltk_png_lib(libs_db.add_with_key("name", "fltk_png")); { - fltk_png_lib.add_source(files_db, "png/pngmem.c"); fltk_png_lib.add_source(files_db, "png/png.c"); - fltk_png_lib.add_source(files_db, "png/pngwio.c"); - fltk_png_lib.add_source(files_db, "png/pngwtran.c"); - fltk_png_lib.add_source(files_db, "png/pngset.c"); - fltk_png_lib.add_source(files_db, "png/pngwutil.c"); - fltk_png_lib.add_source(files_db, "png/pngwrite.c"); - fltk_png_lib.add_source(files_db, "png/pngrio.c"); - fltk_png_lib.add_source(files_db, "png/pngget.c"); fltk_png_lib.add_source(files_db, "png/pngerror.c"); - fltk_png_lib.add_source(files_db, "png/pngtrans.c"); - fltk_png_lib.add_source(files_db, "png/pngread.c"); - fltk_png_lib.add_source(files_db, "png/pngrutil.c"); + fltk_png_lib.add_source(files_db, "png/pngget.c"); + fltk_png_lib.add_source(files_db, "png/pngmem.c"); fltk_png_lib.add_source(files_db, "png/pngpread.c"); + fltk_png_lib.add_source(files_db, "png/pngread.c"); + fltk_png_lib.add_source(files_db, "png/pngrio.c"); fltk_png_lib.add_source(files_db, "png/pngrtran.c"); - fltk_png_lib.add_external_lib(files_db, "z"); + fltk_png_lib.add_source(files_db, "png/pngrutil.c"); + fltk_png_lib.add_source(files_db, "png/pngset.c"); + fltk_png_lib.add_source(files_db, "png/pngtrans.c"); + fltk_png_lib.add_source(files_db, "png/pngwio.c"); + fltk_png_lib.add_source(files_db, "png/pngwrite.c"); + fltk_png_lib.add_source(files_db, "png/pngwtran.c"); + fltk_png_lib.add_source(files_db, "png/pngwutil.c"); + osx_only(fltk_png_lib.add_external_lib(files_db, "/usr/lib/libz.dylib")); fltk_images_lib.add_lib(fltk_png_lib); } + Fl_Target_Prefs fltk_jpeg_lib(libs_db.add_with_key("name", "fltk_jpeg")); { - fltk_jpeg_lib.add_source(files_db, "jpeg/jidctflt.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jfdctint.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcapimin.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcapistd.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jccoefct.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jccolor.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcdctmgr.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jchuff.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcinit.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcmainct.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jcmarker.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdhuff.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdatasrc.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jerror.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jidctred.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcmaster.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jcomapi.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jfdctfst.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jfdctflt.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jutils.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jquant2.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jquant1.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcparam.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jcphuff.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdpostct.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdphuff.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdmarker.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdmaster.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdatadst.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jidctint.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jidctfst.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcprepct.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jcsample.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jctrans.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jdapimin.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jccolor.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jdapistd.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcmainct.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdmerge.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdatadst.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdatasrc.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdcoefct.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdcolor.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jddctmgr.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdtrans.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdsample.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jmemnobs.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jmemmgr.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdhuff.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jdinput.c"); fltk_jpeg_lib.add_source(files_db, "jpeg/jdmainct.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcinit.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jccoefct.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcapistd.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdcolor.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcsample.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcdctmgr.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcmaster.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcapimin.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jdcoefct.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcparam.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jchuff.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jcprepct.c"); - fltk_jpeg_lib.add_source(files_db, "jpeg/jctrans.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdmarker.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdmaster.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdmerge.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdphuff.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdpostct.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdsample.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jdtrans.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jerror.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jfdctflt.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jfdctfst.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jfdctint.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jidctflt.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jidctfst.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jidctint.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jidctred.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jmemmgr.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jmemnobs.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jquant1.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jquant2.c"); + fltk_jpeg_lib.add_source(files_db, "jpeg/jutils.c"); fltk_images_lib.add_lib(fltk_jpeg_lib); } + Fl_Target_Prefs fltk_forms_lib(libs_db.add_with_key("name", "fltk_forms")); { + fltk_forms_lib.add_source(files_db, "src/forms_bitmap.cxx"); + fltk_forms_lib.add_source(files_db, "src/forms_compatability.cxx"); + fltk_forms_lib.add_source(files_db, "src/forms_free.cxx"); + fltk_forms_lib.add_source(files_db, "src/forms_fselect.cxx"); + fltk_forms_lib.add_source(files_db, "src/forms_pixmap.cxx"); + fltk_forms_lib.add_source(files_db, "src/forms_timer.cxx"); + fltk_forms_lib.add_lib(fltk_lib); + } + // --- create applications Fl_IDE_Prefs apps_db(targets_db, "apps"); Fl_Target_Prefs fluid_app(apps_db.add_with_key("name", "Fluid")); { - fluid_app.add_source(files_db, "fluid/about_panel.cxx"); - fluid_app.add_source(files_db, "fluid/align_widget.cxx"); - fluid_app.add_source(files_db, "fluid/alignment_panel.cxx"); - fluid_app.add_source(files_db, "fluid/code.cxx"); fluid_app.add_source(files_db, "fluid/CodeEditor.cxx"); - fluid_app.add_source(files_db, "fluid/factory.cxx"); - fluid_app.add_source(files_db, "fluid/file.cxx"); fluid_app.add_source(files_db, "fluid/Fl_Function_Type.cxx"); fluid_app.add_source(files_db, "fluid/Fl_Group_Type.cxx"); fluid_app.add_source(files_db, "fluid/Fl_Menu_Type.cxx"); fluid_app.add_source(files_db, "fluid/Fl_Type.cxx"); fluid_app.add_source(files_db, "fluid/Fl_Widget_Type.cxx"); fluid_app.add_source(files_db, "fluid/Fl_Window_Type.cxx"); - fluid_app.add_source(files_db, "fluid/fluid.cxx"); fluid_app.add_source(files_db, "fluid/Fluid_Image.cxx"); + fluid_app.add_source(files_db, "fluid/about_panel.cxx"); + fluid_app.add_source(files_db, "fluid/align_widget.cxx"); + fluid_app.add_source(files_db, "fluid/alignment_panel.cxx"); + fluid_app.add_source(files_db, "fluid/code.cxx"); + fluid_app.add_source(files_db, "fluid/factory.cxx"); + fluid_app.add_source(files_db, "fluid/file.cxx"); + fluid_app.add_source(files_db, "fluid/fluid.cxx"); fluid_app.add_source(files_db, "fluid/function_panel.cxx"); fluid_app.add_source(files_db, "fluid/ide_support.cxx"); + fluid_app.add_source(files_db, "fluid/ide_support.cxx"); + fluid_app.add_source(files_db, "fluid/ide_xcode.cxx"); fluid_app.add_source(files_db, "fluid/ide_xcode.cxx"); fluid_app.add_source(files_db, "fluid/template_panel.cxx"); fluid_app.add_source(files_db, "fluid/undo.cxx"); @@ -606,7 +621,7 @@ int create_new_database(const char *filename) { Fl_Target_Prefs db(tests_db.add_with_key("name", "blocks")); db.add_source(files_db, "test/blocks.cxx"); db.add_lib(fltk_lib); - //db.add_lib(fltk_audio_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/CoreAudio.framework")); demo_db.depends_on(db); } @@ -663,6 +678,8 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/cube.cxx"); db.add_lib(fltk_lib); db.add_lib(fltk_gl_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); demo_db.depends_on(db); } @@ -672,6 +689,9 @@ int create_new_database(const char *filename) db.add_fl(files_db, "test/CubeViewUI.fl"); db.add_lib(fltk_lib); db.add_lib(fltk_gl_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -702,6 +722,7 @@ int create_new_database(const char *filename) { Fl_Target_Prefs db(tests_db.add_with_key("name", "fast_slow")); db.add_fl(files_db, "test/fast_slow.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -732,6 +753,8 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/fracviewer.cxx"); db.add_lib(fltk_lib); db.add_lib(fltk_gl_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); db.add_lib(fltk_forms_lib); demo_db.depends_on(db); } @@ -740,6 +763,8 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/fullscreen.cxx"); db.add_lib(fltk_lib); db.add_lib(fltk_gl_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); demo_db.depends_on(db); } @@ -747,6 +772,8 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/gl_overlay.cxx"); db.add_lib(fltk_lib); db.add_lib(fltk_gl_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); demo_db.depends_on(db); } @@ -754,6 +781,8 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/glpuzzle.cxx"); db.add_lib(fltk_lib); db.add_lib(fltk_gl_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); demo_db.depends_on(db); } @@ -787,6 +816,7 @@ int create_new_database(const char *filename) { Fl_Target_Prefs db(tests_db.add_with_key("name", "inactive")); db.add_fl(files_db, "test/inactive.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -806,6 +836,7 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/keyboard.cxx"); db.add_fl(files_db, "test/keyboard_ui.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -832,6 +863,7 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/mandelbrot.cxx"); db.add_fl(files_db, "test/mandelbrot_ui.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -902,12 +934,14 @@ int create_new_database(const char *filename) { Fl_Target_Prefs db(tests_db.add_with_key("name", "preferences")); db.add_fl(files_db, "test/preferences.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } { Fl_Target_Prefs db(tests_db.add_with_key("name", "radio")); db.add_fl(files_db, "test/radio.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -920,6 +954,7 @@ int create_new_database(const char *filename) { Fl_Target_Prefs db(tests_db.add_with_key("name", "resize")); db.add_fl(files_db, "test/resize.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -933,6 +968,8 @@ int create_new_database(const char *filename) db.add_source(files_db, "test/shape.cxx"); db.add_lib(fltk_lib); db.add_lib(fltk_gl_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/OpenGL.framework")); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/AGL.framework")); demo_db.depends_on(db); } @@ -948,7 +985,7 @@ int create_new_database(const char *filename) db.add_lib(fltk_images_lib); db.add_lib(fltk_jpeg_lib); db.add_lib(fltk_png_lib); - //db.add_lib(fltk_audio_lib); + osx_only(db.add_external_lib(files_db, "/System/Library/Frameworks/CoreAudio.framework")); demo_db.depends_on(db); } @@ -967,6 +1004,7 @@ int create_new_database(const char *filename) { Fl_Target_Prefs db(tests_db.add_with_key("name", "tabs")); db.add_fl(files_db, "test/tabs.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } @@ -1006,10 +1044,12 @@ int create_new_database(const char *filename) { Fl_Target_Prefs db(tests_db.add_with_key("name", "valuators")); db.add_fl(files_db, "test/valuators.fl"); db.add_lib(fltk_lib); + db.depends_on(fluid_app); demo_db.depends_on(db); } db->flush(); + return 0; } @@ -1039,6 +1079,10 @@ public: } return 0; } + int test(const char *a1, const char *a2, const char *a3) { + create_new_database(a1); + return 0; + } }; Fl_FltkDB_Plugin FltkDB_Plugin; diff --git a/fluid/ide_support.h b/fluid/ide_support.h index 126acb309..7bafb9b23 100644 --- a/fluid/ide_support.h +++ b/fluid/ide_support.h @@ -76,7 +76,7 @@ public: Fl_Preferences::ID add_fl(Fl_IDE_Prefs &fdb, const char *pathAndName); Fl_Preferences::ID depends_on(Fl_IDE_Prefs &dep); Fl_Preferences::ID add_lib(Fl_IDE_Prefs &lib); - Fl_Preferences::ID add_external_lib(Fl_IDE_Prefs &fdb, const char *name); + Fl_Preferences::ID add_external_lib(Fl_IDE_Prefs &fdb, const char *pathAndName); }; @@ -94,7 +94,9 @@ public: const char *fullName(); const char *fileExt(); }; - + +void osx_only(Fl_Preferences::ID id); + #endif // diff --git a/fluid/ide_xcode.cxx b/fluid/ide_xcode.cxx index d35e38439..0ea3d8f83 100644 --- a/fluid/ide_xcode.cxx +++ b/fluid/ide_xcode.cxx @@ -116,7 +116,9 @@ class Xcode3_IDE { XCID xcBuildConfigurationListID; XCID xcMainGroupID; XCID xcProductsGroupID; - XCID xcFilesGroupID; + XCID xcAppsGroupID; + XCID xcLibsGroupID; + XCID xcTestsGroupID; XCID xcBuildConfigurationDebugID; XCID xcBuildConfigurationReleaseID; public: @@ -137,7 +139,9 @@ public: getXCID(ideDB, "xcBuildConfigurationListID", xcBuildConfigurationListID); getXCID(ideDB, "xcMainGroupID", xcMainGroupID); getXCID(ideDB, "xcProductsGroupID", xcProductsGroupID); - getXCID(ideDB, "xcFilesGroupID", xcFilesGroupID); + getXCID(ideDB, "xcAppsGroupID", xcAppsGroupID); + getXCID(ideDB, "xcLibsGroupID", xcLibsGroupID); + getXCID(ideDB, "xcTestsGroupID", xcTestsGroupID); getXCID(ideDB, "xcBuildConfigurationDebugID", xcBuildConfigurationDebugID); getXCID(ideDB, "xcBuildConfigurationReleaseID", xcBuildConfigurationReleaseID); } @@ -195,8 +199,8 @@ public: MAKE_XCID(xcBuildFrameworkID, extDB); Fl_File_Prefs fileDB(filesDB, refUUID); MAKE_XCID(xcFileID, fileDB); - const char *name = fileDB.fileName(); - fprintf(out, "\t\t%s /* lib%s.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = %s /* lib%s.dylib */; };\n", xcBuildFrameworkID, name, xcFileID, name); + const char *fullName = fileDB.fullName(); + fprintf(out, "\t\t%s /* %s in Frameworks */ = {isa = PBXBuildFile; fileRef = %s /* %s */; };\n", xcBuildFrameworkID, fullName, xcFileID, fullName); } return 0; } @@ -240,6 +244,7 @@ public: fprintf(out, "\t\t\t);\n"); fprintf(out, "\t\t\tscript = \"export DYLD_FRAMEWORK_PATH=${TARGET_BUILD_DIR} && cd ../../test && ${TARGET_BUILD_DIR}/Fluid.app/Contents/MacOS/Fluid -c ${INPUT_FILE_NAME}\";\n"); fprintf(out, "\t\t};\n"); + return 0; } /* @@ -374,7 +379,7 @@ public: * A list of all files that are somehow referenced in this project */ int writeFileReferenceSection(FILE *out) { - int i, j; + int i; fprintf(out, "/* Begin PBXFileReference section */\n"); // --- list of all Application target results for (i=0; i<nTgtApps; i++) { @@ -419,7 +424,8 @@ public: const char *filetype = "test"; const char *ext = fileDB.fileExt(); if (!ext) { - } else if (strcmp(pathAndName, "src/Fl.cxx")==0) { // FIXME: bad hack! + } else if (strcmp(pathAndName, "src/Fl.cxx")==0 + ||strcmp(pathAndName, "src/Fl_Native_File_Chooser.cxx")==0) { // FIXME: bad hack! filetype = "sourcecode.cpp.objcpp"; } else if (strcmp(ext, ".cxx")==0) { filetype = "sourcecode.cpp.cpp"; @@ -427,13 +433,21 @@ public: filetype = "sourcecode.c.c"; } else if (strcmp(ext, ".mm")==0) { filetype = "sourcecode.cpp.objcpp"; - } else if (strcmp(ext, ".lib")==0) { + } else if (strcmp(ext, ".dylib")==0) { fprintf(out, - "\t\t%s /* lib%s.dylib */ = {isa = PBXFileReference; " + "\t\t%s /* %s */ = {isa = PBXFileReference; " "lastKnownFileType = \"compiled.mach-o.dylib\"; " - "name = lib%s.dylib; path = /usr/lib/libz.dylib; " + "name = %s; path = %s; " "sourceTree = \"<absolute>\"; };\n", - xcFileID, fileDB.fileName(), fileDB.fileName() ); + xcFileID, fullName, fullName, pathAndName ); + filetype = 0L; + } else if (strcmp(ext, ".framework")==0) { + fprintf(out, + "\t\t%s /* %s */ = {isa = PBXFileReference; " + "lastKnownFileType = \"wrapper.framework\"; " + "name = %s; path = %s; " + "sourceTree = \"<absolute>\"; };\n", + xcFileID, fullName, fullName, pathAndName ); filetype = 0L; } else if (strcmp(ext, ".plist")==0) { filetype = "text.plist.xml"; @@ -510,7 +524,13 @@ public: * */ int writeTargetFiles(FILE *out, Fl_Preferences &targetDB) { - char name[80]; targetDB.get("name", name, "DBERROR", 80); + char name[80]; + MAKE_XCID(xcTargetGroupID, targetDB); + targetDB.get("name", name, "DBERROR", 80); + fprintf(out, "\t\t%s /* %s */ = {\n", xcTargetGroupID, name); + fprintf(out, "\t\t\tisa = PBXGroup;\n"); + fprintf(out, "\t\t\tchildren = (\n"); + MAKE_XCID(xcProductID, targetDB); Fl_Preferences sourcesDB(targetDB, "sources"); int j, n = sourcesDB.groups(); @@ -539,23 +559,32 @@ public: GET_UUID(refUUID, extDB); Fl_File_Prefs fileDB(filesDB, refUUID); MAKE_XCID(xcFileID, fileDB); - const char *name = fileDB.fileName(); - fprintf(out, "\t\t\t\t%s /* lib%s.dylib */,\n", xcFileID, name); + const char *fullName = fileDB.fullName(); + fprintf(out, "\t\t\t\t%s /* %s */,\n", xcFileID, fullName); } + + fprintf(out, "\t\t\t);\n"); + fprintf(out, "\t\t\tname = %s;\n", name); + fprintf(out, "\t\t\tsourceTree = \"<group>\";\n"); + fprintf(out, "\t\t};\n"); + return 0; } /* * Groups define the folder hierarchy in the "Groups & Files" panel */ int writeGroupSection(FILE *out) { - int i, j; + int i; + char name[80]; fprintf(out, "/* Begin PBXGroup section */\n"); // --- FIXME: missing "icons" group // --- main group fprintf(out, "\t\t%s = {\n", xcMainGroupID); fprintf(out, "\t\t\tisa = PBXGroup;\n"); fprintf(out, "\t\t\tchildren = (\n"); - fprintf(out, "\t\t\t\t%s /* Files */,\n", xcFilesGroupID); // link to "Files" group + fprintf(out, "\t\t\t\t%s /* Applications */,\n", xcAppsGroupID); + fprintf(out, "\t\t\t\t%s /* Frameworks */,\n", xcLibsGroupID); + fprintf(out, "\t\t\t\t%s /* Tests */,\n", xcTestsGroupID); fprintf(out, "\t\t\t\t%s /* Products */,\n", xcProductsGroupID); // link to "Products" group fprintf(out, "\t\t\t);\n"); fprintf(out, "\t\t\tsourceTree = \"<group>\";\n"); @@ -594,28 +623,63 @@ public: // --- FIXME: missing "jpeg Sources" group // --- FIXME: missing "png Sources" group // --- FIXME: missing "libs" group - - // --- "Files" group for testing - fprintf(out, "\t\t%s /* Files */ = {\n", xcFilesGroupID); + + // --- "Applications" group for testing + fprintf(out, "\t\t%s /* Applications */ = {\n", xcAppsGroupID); fprintf(out, "\t\t\tisa = PBXGroup;\n"); fprintf(out, "\t\t\tchildren = (\n"); for (i=0; i<nTgtApps; i++) { Fl_Preferences targetDB(tgtAppsDB, i); + MAKE_XCID(xcTargetGroupID, targetDB); + targetDB.get("name", name, "DBERROR", 80); + fprintf(out, "\t\t\t\t%s /* %s */,\n", xcTargetGroupID, name); + } + fprintf(out, "\t\t\t);\n"); + fprintf(out, "\t\t\tname = Applications;\n"); + fprintf(out, "\t\t\tsourceTree = \"<group>\";\n"); + fprintf(out, "\t\t};\n"); + for (i=0; i<nTgtApps; i++) { + Fl_Preferences targetDB(tgtAppsDB, i); writeTargetFiles(out, targetDB); } + // --- "Frameworks" group for testing + fprintf(out, "\t\t%s /* Frameworks */ = {\n", xcLibsGroupID); + fprintf(out, "\t\t\tisa = PBXGroup;\n"); + fprintf(out, "\t\t\tchildren = (\n"); + for (i=0; i<nTgtLibs; i++) { + Fl_Preferences targetDB(tgtLibsDB, i); + MAKE_XCID(xcTargetGroupID, targetDB); + targetDB.get("name", name, "DBERROR", 80); + fprintf(out, "\t\t\t\t%s /* %s */,\n", xcTargetGroupID, name); + } + fprintf(out, "\t\t\t);\n"); + fprintf(out, "\t\t\tname = Frameworks;\n"); + fprintf(out, "\t\t\tsourceTree = \"<group>\";\n"); + fprintf(out, "\t\t};\n"); for (i=0; i<nTgtLibs; i++) { Fl_Preferences targetDB(tgtLibsDB, i); writeTargetFiles(out, targetDB); } + // --- "Tests" group for testing + fprintf(out, "\t\t%s /* Tests */ = {\n", xcTestsGroupID); + fprintf(out, "\t\t\tisa = PBXGroup;\n"); + fprintf(out, "\t\t\tchildren = (\n"); for (i=0; i<nTgtTests; i++) { Fl_Preferences targetDB(tgtTestsDB, i); - writeTargetFiles(out, targetDB); + MAKE_XCID(xcTargetGroupID, targetDB); + targetDB.get("name", name, "DBERROR", 80); + fprintf(out, "\t\t\t\t%s /* %s */,\n", xcTargetGroupID, name); } fprintf(out, "\t\t\t);\n"); - fprintf(out, "\t\t\tname = Files;\n"); + fprintf(out, "\t\t\tname = Tests;\n"); fprintf(out, "\t\t\tsourceTree = \"<group>\";\n"); fprintf(out, "\t\t};\n"); + for (i=0; i<nTgtTests; i++) { + Fl_Preferences targetDB(tgtTestsDB, i); + writeTargetFiles(out, targetDB); + } // --- done + fprintf(out, "/* End PBXGroup section */\n\n"); return 0; } @@ -831,7 +895,6 @@ public: GET_UUID(refUUID, sourceDB); MAKE_XCID(xcBuildFileID, sourceDB); Fl_File_Prefs fileDB(filesDB, refUUID); - const char *fullName = fileDB.fullName(); fprintf(out, "\t\t\t\t%s /* %s in Sources */,\n", xcBuildFileID, fileDB.fullName()); } Fl_Preferences flsDB(targetDB, "fl"); @@ -841,7 +904,6 @@ public: GET_UUID(refUUID, flDB); MAKE_XCID(xcBuildFileID, flDB); Fl_File_Prefs fileDB(filesDB, refUUID); - const char *fullName = fileDB.fullName(); fprintf(out, "\t\t\t\t%s /* %s in Sources */,\n", xcBuildFileID, fileDB.fullName()); } fprintf(out, "\t\t\t);\n"); @@ -941,7 +1003,7 @@ public: fprintf(out, "\t\t\t\tGCC_OPTIMIZATION_LEVEL = 0;\n"); fprintf(out, "\t\t\t\tGCC_PFE_FILE_C_DIALECTS = \"c c++\";\n"); fprintf(out, "\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n"); - fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = \"$(SDKROOT)/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h\";\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = \"\";\n"); fprintf(out, "\t\t\t\tGCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\n"); fprintf(out, "\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.2;\n"); fprintf(out, "\t\t\t\tSDKROOT = \"$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk\";\n"); @@ -960,7 +1022,7 @@ public: fprintf(out, "\t\t\t\tGCC_GENERATE_DEBUGGING_SYMBOLS = NO;\n"); fprintf(out, "\t\t\t\tGCC_PFE_FILE_C_DIALECTS = \"c c++\";\n"); fprintf(out, "\t\t\t\tGCC_PRECOMPILE_PREFIX_HEADER = YES;\n"); - fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = \"$(SDKROOT)/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h\";\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = \"\";\n"); fprintf(out, "\t\t\t\tGCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;\n"); fprintf(out, "\t\t\t\tMACOSX_DEPLOYMENT_TARGET = 10.3;\n"); fprintf(out, "\t\t\t\tSDKROOT = \"$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk\";\n"); @@ -988,7 +1050,7 @@ public: 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 = \"$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h\";\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = \"\";\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"); @@ -1000,11 +1062,14 @@ public: fprintf(out, "\t\t\t\tINSTALL_PATH = /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\tPREBINDING = NO;\n"); fprintf(out, "\t\t\t\tPRODUCT_NAME = %s;\n", name); fprintf(out, "\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"\";\n"); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"-Wno-format-security\";\n"); fprintf(out, "\t\t\t\tWRAPPER_EXTENSION = app;\n"); fprintf(out, "\t\t\t\tZERO_LINK = YES;\n"); fprintf(out, "\t\t\t};\n"); @@ -1019,7 +1084,7 @@ public: 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 = \"$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h\";\n"); + fprintf(out, "\t\t\t\tGCC_PREFIX_HEADER = \"\";\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"); @@ -1031,16 +1096,20 @@ public: fprintf(out, "\t\t\t\tINSTALL_PATH = /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\tPREBINDING = NO;\n"); fprintf(out, "\t\t\t\tPRODUCT_NAME = %s;\n", name); fprintf(out, "\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"\";\n"); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"-Wno-format-security\";\n"); fprintf(out, "\t\t\t\tWRAPPER_EXTENSION = app;\n"); fprintf(out, "\t\t\t\tZERO_LINK = NO;\n"); fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Release;\n"); fprintf(out, "\t\t};\n"); + return 0; } /* @@ -1073,14 +1142,14 @@ public: 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\tCarbon,\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\tUSER_HEADER_SEARCH_PATHS = \"\";\n"); - fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"-Wno-format-nonliteral\";\n"); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"-Wno-format-security\";\n"); fprintf(out, "\t\t\t\tZERO_LINK = YES;\n"); fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Debug;\n"); @@ -1111,18 +1180,19 @@ public: fprintf(out, "\t\t\t\tOTHER_LDFLAGS = (\n"); fprintf(out, "\t\t\t\t\"-framework\",\n"); fprintf(out, "\t\t\t\tCocoa,\n"); - fprintf(out, "\t\t\t\t\"-framework\",\n"); - fprintf(out, "\t\t\t\tCarbon,\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\tSDKROOT = \"\";\n"); fprintf(out, "\t\t\t\tUSER_HEADER_SEARCH_PATHS = \"\";\n"); - fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"-Wno-format-nonliteral\";\n"); + fprintf(out, "\t\t\t\tWARNING_CFLAGS = \"-Wno-format-security\";\n"); fprintf(out, "\t\t\t\tZERO_LINK = NO;\n"); fprintf(out, "\t\t\t};\n"); fprintf(out, "\t\t\tname = Release;\n"); fprintf(out, "\t\t};\n"); + return 0; } /* @@ -1161,6 +1231,7 @@ public: fprintf(out, "\t\t\tdefaultConfigurationIsVisible = 0;\n"); fprintf(out, "\t\t\tdefaultConfigurationName = Debug;\n"); fprintf(out, "\t\t};\n"); + return 0; } /* @@ -1246,8 +1317,36 @@ public: return 0; } - int writeConfigH(const char *filepath) { - // FIXME: LATER: do we want to do that? + int writeConfigH(const char *filename) { + FILE *f = fopen(filename, "wb"); + fputs("/*\n * \"$Id$\"\n" + " *\n * Configuration file for the Fast Light Tool Kit (FLTK).\n *\n" + " * Copyright 1998-2010 by Bill Spitzak and others.\n */\n\n", f); + fputs("#define FLTK_DATADIR \"/usr/local/share/fltk\"\n" + "#define FLTK_DOCDIR \"/usr/local/share/doc/fltk\"\n" + "#define BORDER_WIDTH 2\n#define HAVE_GL 1\n#define HAVE_GL_GLU_H 1\n" + "#define USE_COLORMAP 1\n#define HAVE_XINERAMA 0\n#define USE_XFT 0\n" + "#define HAVE_XDBE 0\n#define USE_XDBE HAVE_XDBE\n", f); + fputs("#define USE_QUARTZ 1\n#define __APPLE_QUARTZ__ 1\n" + "#define __APPLE_COCOA__ 1\n#define HAVE_OVERLAY 0\n" + "#define HAVE_GL_OVERLAY HAVE_OVERLAY\n#define WORDS_BIGENDIAN 0\n" + "#define U16 unsigned short\n#define U32 unsigned\n" + "#define HAVE_DIRENT_H 1\n#define HAVE_SCANDIR 1\n" + "#define HAVE_VSNPRINTF 1\n", f); + fputs("#define HAVE_SNPRINTF 1\n#define HAVE_STRINGS_H 1\n" + "#define HAVE_STRCASECMP 1\n#define HAVE_STRLCAT 1\n" + "#define HAVE_STRLCPY 1\n#define HAVE_LOCALE_H 1\n" + "#define HAVE_LOCALECONV 1\n#define HAVE_SYS_SELECT_H 1\n" + "#define USE_POLL 0\n#define HAVE_LIBPNG 1\n#define HAVE_LIBZ 1\n" + "#define HAVE_LIBJPEG 1\n#define HAVE_PNG_H 1\n", f); + fputs("#define HAVE_PTHREAD 1\n#define HAVE_PTHREAD_H 1\n" + "#define HAVE_LONG_LONG 1\n#define FLTK_LLFMT \"%lld\"\n" + "#define FLTK_LLCAST (long long)\n#define HAVE_STRTOLL 1\n" + "#define HAVE_DLFCN_H 1\n#define HAVE_DLSYM 1\n\n", f); + fputs("/*\n" + " * End of \"$Id$\".\n" + " */", f); + fclose(f); return 0; } @@ -1322,7 +1421,8 @@ public: // --- create project.pbxproj sprintf(filepath, "%s/ide/Xcode3/FLTK.xcodeproj", rootDir); fl_mkdir(filepath, 0777); writeProjectFile(filepath); - // --- FIXME: LATER: should we create config.h here? + // --- create a valid config.h + sprintf(filepath, "%s/ide/Xcode3/config.h", rootDir); writeConfigH(filepath); // --- FIXME: LATER: create default icons (maybe import icons for apps?) sprintf(filepath, "%s/ide/Xcode3/icons", rootDir); fl_mkdir(filepath, 0777); @@ -1377,6 +1477,10 @@ public: } return 0; } + int test(const char *a1, const char *a2, const char *a3) { + generate_fltk_Xcode3_support(a1, a2); + return 0; + } }; Fl_IDE_Xcode_Plugin IDE_Xcode_Plugin; |
