Determining UI and OS

View: New views
1 Messages — Rating Filter:   Alert me  

Determining UI and OS

by Anders F Björklund :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


The original problems I had with FOX seems to still
be there in the 1.7 release, and even worse there ?
The only macro that I could see was "WIN32" and it
is being used both for the UI (!X11) and OS (!UNIX)

To start a third implementation of the user interface,
one *needs* to separate those definitions into two...

Previously I had added a "X11" and a "MACOS" and used
"UNIX" (not only "linux") and "macintosh" for the defs.
So it seems that it should now be a "COCOA" and that
"macintosh" is no longer needed (Mac OS X is a UNIX) ?


Looking for the OS variant is easy enough, only needs
to use the "WIN32" and maybe a matching "UNIX" like:

  # Init
  AC_INIT(fox,[fox_version],jeroen@...)
  AC_CONFIG_SRCDIR([include/fx.h])
+AC_CANONICAL_HOST
  AM_INIT_AUTOMAKE([foreign])

+# Check OS
+case "$host" in
+    *-*-mingw32*)
+       AC_DEFINE(WIN32, 1, [Windows])
+       ;;
+    *)
+       AC_DEFINE(UNIX, 1, [UNIX-variant])
+       ;;
+esac
+

Then it could default to use the WIN interface on WIN32
and the X11 interface on UNIX, and add macros for those.
Something like "FOX_WINUI" and "FOX_X11UI" perhaps ?
Plus some configure param to choose something else...

So instead of the current: "#ifndef WIN32   // X11"
it would rather look like: "#if defined(FOX_X11UI)"
And then it could set LIBS, X_BASE_LIBS and GL_LIBS ?
(but maybe X_BASE_LIBS should be UI_LIBS or similar)

        X_BASE_LIBS="-lcomctl32 -lwsock32 -lwinspool -lmpr -lgdi32 -limm32"
        LIBGLU="-lglu32"
        LIBGL="-lopengl32"

        X_BASE_LIBS="-lX11 -lXext"
        LIBGLU="-lGLU"
        LIBGL="-lGL"

I don't see that it is possible to add additional UI,
unless some macros like that is added to the config ?
Then one *could* set "FOX_COCOA" for the Mac OS X UI,
and *not* set any of the other two (WINUI or X11UI)...

        X_BASE_LIBS="-Wl,-framework,Cocoa"
        LIBGLU=""
        LIBGL="-Wl,-framework,OpenGL"

Then all that remains is someone to do an implementation... :-)
Something like this: http://blog.hyperjeff.net/code?id=292

--anders


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Foxgui-users mailing list
Foxgui-users@...
https://lists.sourceforge.net/lists/listinfo/foxgui-users