Revision: 75513
          http://sourceforge.net/p/brlcad/code/75513
Author:   starseeker
Date:     2020-04-22 00:24:12 +0000 (Wed, 22 Apr 2020)
Log Message:
-----------
Switch to using only the plugins - turn off the building of the backend files 
directly into libdm.

Modified Paths:
--------------
    brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
    brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp
    brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c
    brlcad/branches/dm-fb-merge/src/libdm/include/private.h

Modified: brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt        2020-04-22 
00:11:28 UTC (rev 75512)
+++ brlcad/branches/dm-fb-merge/src/libdm/CMakeLists.txt        2020-04-22 
00:24:12 UTC (rev 75513)
@@ -24,106 +24,38 @@
 add_subdirectory(plot)
 add_subdirectory(txt)
 
+# We no longer use these in libdm, but MGED hasn't caught up yet...
+set(libdm_DEFINES "")
+
 if(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_OPENGL AND BRLCAD_ENABLE_TK)
   add_subdirectory(glx)
+  list(APPEND libdm_DEFINES DM_OGL IF_OGL)
 endif(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_OPENGL AND BRLCAD_ENABLE_TK)
 if(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_TK)
   add_subdirectory(X)
+  list(APPEND libdm_DEFINES DM_X IF_X)
 endif(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_TK)
 if(WIN32 AND BRLCAD_ENABLE_OPENGL)
   add_subdirectory(wgl)
+  list(APPEND libdm_DEFINES DM_WGL IF_WGL)
 endif(WIN32 AND BRLCAD_ENABLE_OPENGL)
 if(BRLCAD_ENABLE_TK AND NOT WIN32)
   add_subdirectory(tk)
+  list(APPEND libdm_DEFINES DM_TK IF_TK)
 endif(BRLCAD_ENABLE_TK AND NOT WIN32)
 if(BRLCAD_ENABLE_OSG AND BRLCAD_ENABLE_TK)
   add_subdirectory(osgl)
+  list(APPEND libdm_DEFINES DM_OSGL IF_OSGL)
 endif(BRLCAD_ENABLE_OSG AND BRLCAD_ENABLE_TK)
 if(BRLCAD_ENABLE_QT)
   add_subdirectory(qt)
-endif(BRLCAD_ENABLE_QT)
-
-# Initialize libdm_DEFINES in case of reconfiguration
-set(libdm_DEFINES "")
-
-# Set libdm compilation definitions
-get_property(libdm_DEFINES GLOBAL PROPERTY libdm_DEFINES)
-# Add the individual OS specific files and definitions
-if(WIN32 AND BRLCAD_ENABLE_OPENGL)
-  list(APPEND libdm_DEFINES DM_WGL IF_WGL)
-  set(dmw32_srcs wgl/if_wgl.c)
-  set(DM_EXTRA_LIBS ${DM_EXTRA_LIBS} ${OPENGL_LIBRARIES})
-  set_property(SOURCE wgl/dm-wgl.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-  set_property(SOURCE wgl/if_wgl.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-endif(WIN32 AND BRLCAD_ENABLE_OPENGL)
-
-if(BRLCAD_ENABLE_X11)
-  set(DM_X_LIBS ${X11_LIBRARIES})
-endif(BRLCAD_ENABLE_X11)
-
-if(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_TK)
-  list(APPEND libdm_DEFINES DM_X IF_X)
-  set(dmx11_srcs X/if_X24.c X/color.c)
-  set(DM_EXTRA_LIBS ${DM_EXTRA_LIBS} ${X11_LIBRARIES})
-  set_property(SOURCE X/dm-X.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-  set_property(SOURCE X/if_X24.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-endif(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_TK)
-
-if(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_OPENGL AND BRLCAD_ENABLE_TK)
-  list(APPEND libdm_DEFINES DM_OGL IF_OGL)
-  set(dmogl_srcs glx/if_ogl.c)
-  set(DM_EXTRA_LIBS ${DM_EXTRA_LIBS} ${OPENGL_LIBRARIES})
-  set_property(SOURCE glx/dm-ogl.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-  set_property(SOURCE glx/if_ogl.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-endif(BRLCAD_ENABLE_X11 AND BRLCAD_ENABLE_OPENGL AND BRLCAD_ENABLE_TK)
-
-if(BRLCAD_ENABLE_TK AND NOT WIN32)
-  list(APPEND libdm_DEFINES DM_TK IF_TK)
-  set(DM_EXTRA_LIBS ${DM_EXTRA_LIBS} ${TCL_LIBRARY} ${TK_LIBRARY})
-  set(dmtk_srcs tk/if_tk.c)
-  set_property(SOURCE tk/dm-tk.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-  set_property(SOURCE tk/if_tk.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-endif(BRLCAD_ENABLE_TK AND NOT WIN32)
-
-if(BRLCAD_ENABLE_QT)
-  CHECK_CXX_FLAG(Wno-float-equal)
-
   list(APPEND libdm_DEFINES DM_QT IF_QT)
-  set(dmqt_srcs qt/if_qt.cpp)
-  set_property(SOURCE qt/if_qt.cpp APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-  set(CMAKE_AUTOMOC ON)
-  set(CMAKE_INCLUDE_CURRENT_DIR ON)
-  add_definitions(${Qt5Widgets_DEFINITIONS})
-  set(DM_EXTRA_LIBS ${DM_EXTRA_LIBS} ${Qt5Widgets_LIBRARIES})
 endif(BRLCAD_ENABLE_QT)
 
-add_definitions(
-  -DIF_REMOTE
-  -DIF_AB
-  )
-if(BRLCAD_ENABLE_OSG AND BRLCAD_ENABLE_TK)
-  list(APPEND libdm_DEFINES DM_OSGL IF_OSGL)
-  set(dmosg_srcs osgl/if_osgl.cpp)
-  set_property(SOURCE osgl/if_osgl.cpp APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
-  set(OSG_LIBRARIES
-    ${OPENGL_LIBRARIES}
-    ${OSG_LIBRARY}
-    ${OSGTEXT_LIBRARY}
-    ${OSGVIEWER_LIBRARY}
-    )
-  set(DM_EXTRA_LIBS ${DM_EXTRA_LIBS} ${OSG_LIBRARIES})
-endif(BRLCAD_ENABLE_OSG AND BRLCAD_ENABLE_TK)
-
-
+# put the defines where MGED's build can find them...
 set_property(GLOBAL PROPERTY libdm_DEFINES "${libdm_DEFINES}")
 
 set(LIBDM_SRCS
-  ${dmx11_srcs}
-  ${dmw32_srcs}
-  ${dmogl_srcs}
-  ${dmosg_srcs}
-  ${dmtk_srcs}
-  ${dmqt_srcs}
   null/dm-Null.c
   null/if_null.c
   txt/if_debug.c
@@ -158,7 +90,7 @@
   )
 set_property(SOURCE dm_obj.c APPEND PROPERTY COMPILE_DEFINITIONS 
FB_USE_INTERNAL_API)
 set_property(SOURCE dm_init.cpp APPEND PROPERTY COMPILE_DEFINITIONS 
"DM_PLUGIN_SUFFIX=\"${CMAKE_SHARED_LIBRARY_SUFFIX}\"")
-BRLCAD_ADDLIB(libdm "${LIBDM_SRCS}" 
"librt;libbu;libpkg;${DM_EXTRA_LIBS};${PNG_LIBRARIES}")
+BRLCAD_ADDLIB(libdm "${LIBDM_SRCS}" 
"librt;libbu;libpkg;${TCL_LIBRARY};${TK_LIBRARY};${OPENGL_LIBRARIES};${PNG_LIBRARIES}")
 set_target_properties(libdm PROPERTIES VERSION 20.0.1 SOVERSION 20)
 
 if(BRLCAD_ENABLE_OSG)

Modified: brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp        2020-04-22 
00:11:28 UTC (rev 75512)
+++ brlcad/branches/dm-fb-merge/src/libdm/dm_plugins.cpp        2020-04-22 
00:24:12 UTC (rev 75513)
@@ -202,7 +202,6 @@
     fb_log("\"%s\"(%d) : allocation of %lu bytes failed.\n",    \
            __FILE__, __LINE__, _bytes_)
 
-#ifdef IF_REMOTE
 /**
  * True if the non-null string s is all digits
  */
@@ -220,7 +219,6 @@
 
     return 1;
 }
-#endif
 
 struct fb *
 fb_open(const char *file, int width, int height)
@@ -291,7 +289,6 @@
         return FB_NULL;
     }
 
-#ifdef IF_REMOTE
     if (fb_totally_numeric(file) || strchr(file, ':') != NULL) {
         /* We have a remote file name of the form <host>:<file>
          * or a port number (which assumes localhost) */
@@ -298,7 +295,6 @@
         *ifp->i = *remote_interface.i;
         goto found_interface;
     }
-#endif /* IF_REMOTE */
 
     /* Assume it's a disk file */
     if (_fb_disk_enable) {
@@ -354,11 +350,10 @@
     }
 
     /* Print the ones not in the device list */
-#ifdef IF_REMOTE
     fb_log("%-12s  %s\n",
            remote_interface.i->if_name,
            remote_interface.i->if_type);
-#endif
+
     if (_fb_disk_enable) {
         fb_log("%-12s  %s\n",
                disk_interface.i->if_name,

Modified: brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c  2020-04-22 00:11:28 UTC 
(rev 75512)
+++ brlcad/branches/dm-fb-merge/src/libdm/fb_generic.c  2020-04-22 00:24:12 UTC 
(rev 75513)
@@ -52,39 +52,6 @@
 #include "./include/private.h"
 #include "dm.h"
 
-#if 0
-/**
- * First element of list is default device when no name given
- */
-static
-struct fb *_if_list[] = {
-#ifdef IF_OSGL
-    &osgl_interface,
-#endif
-#ifdef IF_WGL
-    &wgl_interface,
-#endif
-#ifdef IF_OGL
-    &ogl_interface,
-#endif
-#ifdef IF_X
-    &X24_interface,
-#endif
-#ifdef IF_TK
-    &tk_interface,
-#endif
-#ifdef IF_QT
-    &qt_interface,
-#endif
-    &debug_interface,
-/* never get any of the following by default */
-    &stk_interface,
-    &memory_interface,
-    &fb_null_interface,
-    (struct fb *) 0
-};
-#endif
-
 struct fb *fb_get()
 {
     struct fb *new_fb = FB_NULL;
@@ -102,56 +69,6 @@
     }
 }
 
-#if 0
-void fb_set_interface(struct fb *ifp, const char *interface_type)
-{
-    int i = 0;
-    if (!ifp) return;
-    while (_if_list[i] != FB_NULL) {
-       if (bu_strncmp(interface_type, _if_list[i]->i->if_name+5, 
strlen(interface_type)) == 0) {
-           /* found it, copy its struct in */
-           *ifp->i = *(_if_list[i]->i);
-           return;
-       } else {
-           i++;
-       }
-    }
-}
-
-struct fb_platform_specific *
-fb_get_platform_specific(uint32_t magic)
-{
-    int i = 0;
-    if (!magic) return NULL;
-    while (_if_list[i] != FB_NULL) {
-       if (magic == _if_list[i]->i->type_magic) {
-           /* found it, get its specific struct */
-           return (*(_if_list[i])).i->if_existing_get(magic);
-       } else {
-           i++;
-       }
-    }
-    return NULL;
-}
-
-void
-fb_put_platform_specific(struct fb_platform_specific *fb_p)
-{
-    int i = 0;
-    if (!fb_p) return;
-    while (_if_list[i] != FB_NULL) {
-       if (fb_p->magic == _if_list[i]->i->type_magic) {
-           /* found it, clear its specific struct */
-           (*(_if_list[i])).i->if_existing_put(fb_p);
-           return;
-       } else {
-           i++;
-       }
-    }
-    return;
-}
-#endif
-
 struct fb *
 fb_open_existing(const char *file, int width, int height, struct 
fb_platform_specific *fb_p)
 {
@@ -372,107 +289,6 @@
 }
 
 
-#if 0
-struct fb *
-fb_open(const char *file, int width, int height)
-{
-    register struct fb *ifp;
-    int i;
-
-    if (width < 0 || height < 0)
-       return FB_NULL;
-
-    ifp = (struct fb *) calloc(sizeof(struct fb), 1);
-    if (ifp == FB_NULL) {
-       Malloc_Bomb(sizeof(struct fb));
-       return FB_NULL;
-    }
-    ifp->i = (struct fb_impl *) calloc(sizeof(struct fb_impl), 1);
-    if (file == NULL || *file == '\0') {
-       /* No name given, check environment variable first.     */
-       if ((file = (const char *)getenv("FB_FILE")) == NULL || *file == '\0') {
-           /* None set, use first device as default */
-           *ifp->i = *(_if_list[0]->i);        /* struct copy */
-           file = ifp->i->if_name;
-           goto found_interface;
-       }
-    }
-    /*
-     * Determine what type of hardware the device name refers to.
-     *
-     * "file" can in general look like: hostname:/pathname/devname#
-     *
-     * If we have a ':' assume the remote interface
-     * (We don't check to see if it's us. Good for debugging.)
-     * else strip out "/path/devname" and try to look it up in the
-     * device array.  If we don't find it assume it's a file.
-     */
-    i = 0;
-    while (_if_list[i] != (struct fb *)NULL) {
-       if (bu_strncmp(file, _if_list[i]->i->if_name,
-                   strlen(_if_list[i]->i->if_name)) == 0) {
-           /* found it, copy its struct in */
-           *ifp->i = *(_if_list[i]->i);
-           goto found_interface;
-       }
-       i++;
-    }
-
-    /* Not in list, check special interfaces or disk files */
-    /* "/dev/" protection! */
-    if (bu_strncmp(file, "/dev/", 5) == 0) {
-       fb_log("fb_open: no such device \"%s\".\n", file);
-       free((void *) ifp);
-       return FB_NULL;
-    }
-
-#ifdef IF_REMOTE
-    if (fb_totally_numeric(file) || strchr(file, ':') != NULL) {
-       /* We have a remote file name of the form <host>:<file>
-        * or a port number (which assumes localhost) */
-       *ifp->i = *remote_interface.i;
-       goto found_interface;
-    }
-#endif /* IF_REMOTE */
-    /* Assume it's a disk file */
-    if (_fb_disk_enable) {
-       *ifp->i = *disk_interface.i;
-    } else {
-       fb_log("fb_open: no such device \"%s\".\n", file);
-       free((void *) ifp);
-       return FB_NULL;
-    }
-
-found_interface:
-    /* Copy over the name it was opened by. */
-    ifp->i->if_name = (char*)malloc((unsigned) strlen(file) + 1);
-    if (ifp->i->if_name == (char *)NULL) {
-       Malloc_Bomb(strlen(file) + 1);
-       free((void *) ifp);
-       return FB_NULL;
-    }
-    bu_strlcpy(ifp->i->if_name, file, strlen(file)+1);
-
-    /* Mark OK by filling in magic number */
-    ifp->i->if_magic = FB_MAGIC;
-
-    i=(*ifp->i->if_open)(ifp, file, width, height);
-    if (i != 0) {
-       ifp->i->if_magic = 0;           /* sanity */
-       free((void *) ifp->i->if_name);
-       free((void *) ifp);
-
-       if (i < 0)
-           fb_log("fb_open: can't open device \"%s\", ret=%d.\n", file, i);
-       else
-           bu_exit(0, "Terminating early by request\n"); /* e.g., zap memory */
-
-       return FB_NULL;
-    }
-    return ifp;
-}
-#endif
-
 int
 fb_close(struct fb *ifp)
 {
@@ -518,41 +334,7 @@
 }
 
 
-#if 0
 /**
- * Generic Help.
- * Print out the list of available frame buffers.
- */
-int
-fb_genhelp(void)
-{
-    int i;
-
-    i = 0;
-    while (_if_list[i] != (struct fb *)NULL) {
-       fb_log("%-12s  %s\n",
-              _if_list[i]->i->if_name,
-              _if_list[i]->i->if_type);
-       i++;
-    }
-
-    /* Print the ones not in the device list */
-#ifdef IF_REMOTE
-    fb_log("%-12s  %s\n",
-          remote_interface.i->if_name,
-          remote_interface.i->if_type);
-#endif
-    if (_fb_disk_enable) {
-       fb_log("%-12s  %s\n",
-              disk_interface.i->if_name,
-              disk_interface.i->if_type);
-    }
-
-    return 0;
-}
-#endif
-
-/**
  * Check for a color map being linear in the upper 8 bits of R, G, and
  * B.  Returns 1 for linear map, 0 for non-linear map (i.e.,
  * non-identity map).

Modified: brlcad/branches/dm-fb-merge/src/libdm/include/private.h
===================================================================
--- brlcad/branches/dm-fb-merge/src/libdm/include/private.h     2020-04-22 
00:11:28 UTC (rev 75512)
+++ brlcad/branches/dm-fb-merge/src/libdm/include/private.h     2020-04-22 
00:24:12 UTC (rev 75513)
@@ -199,9 +199,8 @@
 #ifdef IF_QT
 FB_EXPORT extern struct fb qt_interface;
 #endif
-#ifdef IF_REMOTE
+
 FB_EXPORT extern struct fb remote_interface; /* not in list[] */
-#endif
 
 /* Always included */
 FB_EXPORT extern struct fb debug_interface, disk_interface, stk_interface;

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to