@@ -214,6 +214,60 @@ fn main() {
214214 base_config. file ( format ! ( "{}{}" , src_base, "/unix/text.c" ) ) ;
215215 base_config. file ( format ! ( "{}{}" , src_base, "/unix/util.c" ) ) ;
216216 base_config. file ( format ! ( "{}{}" , src_base, "/unix/window.c" ) ) ;
217+ } else if apple {
218+ base_config. include ( format ! ( "{}{}" , src_base, "/darwin" ) ) ;
219+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/aat.m" ) ) ;
220+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/alloc.m" ) ) ;
221+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/area.m" ) ) ;
222+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/areaevents.m" ) ) ;
223+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/attrstr.m" ) ) ;
224+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/autolayout.m" ) ) ;
225+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/box.m" ) ) ;
226+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/button.m" ) ) ;
227+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/checkbox.m" ) ) ;
228+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/colorbutton.m" ) ) ;
229+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/combobox.m" ) ) ;
230+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/control.m" ) ) ;
231+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/datetimepicker.m" ) ) ;
232+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/debug.m" ) ) ;
233+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/draw.m" ) ) ;
234+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/drawtext.m" ) ) ;
235+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/editablecombo.m" ) ) ;
236+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/entry.m" ) ) ;
237+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/fontbutton.m" ) ) ;
238+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/fontmatch.m" ) ) ;
239+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/fonttraits.m" ) ) ;
240+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/fontvariation.m" ) ) ;
241+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/form.m" ) ) ;
242+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/future.m" ) ) ;
243+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/graphemes.m" ) ) ;
244+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/grid.m" ) ) ;
245+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/group.m" ) ) ;
246+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/image.m" ) ) ;
247+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/label.m" ) ) ;
248+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/main.m" ) ) ;
249+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/map.m" ) ) ;
250+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/menu.m" ) ) ;
251+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/multilineentry.m" ) ) ;
252+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/opentype.m" ) ) ;
253+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/progressbar.m" ) ) ;
254+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/radiobuttons.m" ) ) ;
255+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/scrollview.m" ) ) ;
256+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/separator.m" ) ) ;
257+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/slider.m" ) ) ;
258+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/spinbox.m" ) ) ;
259+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/stddialogs.m" ) ) ;
260+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/tab.m" ) ) ;
261+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/table.m" ) ) ;
262+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/tablecolumn.m" ) ) ;
263+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/text.m" ) ) ;
264+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/undocumented.m" ) ) ;
265+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/util.m" ) ) ;
266+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/window.m" ) ) ;
267+ base_config. file ( format ! ( "{}{}" , src_base, "/darwin/winmoveresize.m" ) ) ;
268+ println ! ( "cargo:rustc-link-lib=framework=AppKit" ) ;
269+ } else {
270+ panic ! ( "unrecognized platform! cannot build libui from source" ) ;
217271 }
218272
219273 // Link everything together into `libui.a`. This will get linked
0 commit comments