Revision: 78010
          http://sourceforge.net/p/brlcad/code/78010
Author:   starseeker
Date:     2020-12-18 22:12:44 +0000 (Fri, 18 Dec 2020)
Log Message:
-----------
First cut at deprecating bu_brlcad_root and bu_brlcad_dir.  Needs more review 
and testing, particularly the libtclcad wrappers that are having to be emulated.

Modified Paths:
--------------
    brlcad/trunk/include/bu/app.h
    brlcad/trunk/src/adrt/isst.c
    brlcad/trunk/src/archer/archer.c
    brlcad/trunk/src/brlman/brlman.c
    brlcad/trunk/src/libbu/vfont.c
    brlcad/trunk/src/libged/help/help.cpp
    brlcad/trunk/src/libged/rt/rt.c
    brlcad/trunk/src/libged/rtcheck/rtcheck.c
    brlcad/trunk/src/libged/rtwizard/rtwizard.c
    brlcad/trunk/src/libtclcad/bu.c
    brlcad/trunk/src/mged/mged.c
    brlcad/trunk/src/mged/plot.c
    brlcad/trunk/src/nirt/main.cpp
    brlcad/trunk/src/nirt/nirt.c
    brlcad/trunk/src/rtwizard/main.c
    brlcad/trunk/src/util/plot3-dm.c

Modified: brlcad/trunk/include/bu/app.h
===================================================================
--- brlcad/trunk/include/bu/app.h       2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/include/bu/app.h       2020-12-18 22:12:44 UTC (rev 78010)
@@ -204,7 +204,7 @@
  * call bu_strdup() or make other provisions to save the returned
  * string, before calling again.
  */
-BU_EXPORT extern const char *bu_brlcad_dir(const char *dirkey, int 
fail_quietly);
+DEPRECATED BU_EXPORT extern const char *bu_brlcad_dir(const char *dirkey, int 
fail_quietly);
 
 /**
  * @brief
@@ -224,7 +224,7 @@
  * call bu_strdup() or make other provisions to save the returned
  * string, before calling again.
  */
-BU_EXPORT extern const char *bu_brlcad_root(const char *rhs, int fail_quietly);
+DEPRECATED BU_EXPORT extern const char *bu_brlcad_root(const char *rhs, int 
fail_quietly);
 
 
 typedef enum {

Modified: brlcad/trunk/src/adrt/isst.c
===================================================================
--- brlcad/trunk/src/adrt/isst.c        2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/adrt/isst.c        2020-12-18 22:12:44 UTC (rev 78010)
@@ -653,8 +653,8 @@
     argv++; argc--;
     tclcad_set_argv(interp, argc, argv);
 
-    isst_tcl = bu_brlcad_root("share/tclscripts/isst/isst.tcl", 1);
     Tcl_DStringInit(&temp);
+    isst_tcl = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "isst", "isst.tcl", 
NULL);
     fullname = Tcl_TranslateFileName(interp, isst_tcl, &temp);
     status = Tcl_EvalFile(interp, fullname);
     Tcl_DStringFree(&temp);

Modified: brlcad/trunk/src/archer/archer.c
===================================================================
--- brlcad/trunk/src/archer/archer.c    2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/archer/archer.c    2020-12-18 22:12:44 UTC (rev 78010)
@@ -95,7 +95,7 @@
     }
     bu_vls_free(&tlog);
 
-    archer_tcl = bu_brlcad_root("share/tclscripts/archer/archer_launch.tcl", 
1);
+    archer_tcl = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "archer", 
"archer_launch.tcl", NULL);
     Tcl_DStringInit(&temp);
     fullname = Tcl_TranslateFileName(interp, archer_tcl, &temp);
     status = Tcl_EvalFile(interp, fullname);

Modified: brlcad/trunk/src/brlman/brlman.c
===================================================================
--- brlcad/trunk/src/brlman/brlman.c    2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/brlman/brlman.c    2020-12-18 22:12:44 UTC (rev 78010)
@@ -421,11 +421,11 @@
            (void)Tcl_Eval(interp, bu_vls_addr(&tcl_cmd));
 
        } else {
-           bu_vls_sprintf(&tcl_cmd, "set ::data_dir %s/html", 
bu_brlcad_dir("doc", 1));
+           bu_vls_sprintf(&tcl_cmd, "set ::data_dir %s/html", bu_dir(NULL, 0, 
BU_DIR_DOC, NULL));
            (void)Tcl_Eval(interp, bu_vls_addr(&tcl_cmd));
        }
 
-       brlman_tcl = bu_brlcad_root("share/tclscripts/brlman/brlman.tcl", 1);
+       brlman_tcl = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "brlman", 
"brlman.tcl", NULL);
        Tcl_DStringInit(&temp);
        fullname = Tcl_TranslateFileName(interp, brlman_tcl, &temp);
        status = Tcl_EvalFile(interp, fullname);

Modified: brlcad/trunk/src/libbu/vfont.c
===================================================================
--- brlcad/trunk/src/libbu/vfont.c      2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/libbu/vfont.c      2020-12-18 22:12:44 UTC (rev 78010)
@@ -49,7 +49,7 @@
 
     if (fontname[0] != '/') {
        /* absolute path */
-       const char *vfont = bu_brlcad_root("share/vfont", 1);
+       const char *vfont = bu_dir(NULL, 0, BU_DIR_DATA, "vfont", NULL);
        if (vfont)
            snprintf(fname, FONTNAMESZ, "%s/%s", vfont, fontname);
        else
@@ -138,7 +138,7 @@
 
     /* Open the file and read in the header information. */
     if ((fp = fopen(const_font, "rb")) == NULL) {
-       snprintf(fname, FONTNAMESZ, "%s/%s", (char 
*)bu_brlcad_root("share/vfont", 0), const_font);
+       snprintf(fname, FONTNAMESZ, "%s/%s", bu_dir(NULL, 0, BU_DIR_DATA, 
"vfont", NULL), const_font);
        if ((fp = fopen(fname, "rb")) == NULL) {
            snprintf(fname, FONTNAMESZ, "%s/%s", FONTDIR2, const_font);
            if ((fp = fopen(fname, "rb")) == NULL) {

Modified: brlcad/trunk/src/libged/help/help.cpp
===================================================================
--- brlcad/trunk/src/libged/help/help.cpp       2020-12-18 21:33:39 UTC (rev 
78009)
+++ brlcad/trunk/src/libged/help/help.cpp       2020-12-18 22:12:44 UTC (rev 
78010)
@@ -249,7 +249,7 @@
        return -1;
 
     /* get our doc dir */
-    dir = bu_strdup(bu_brlcad_dir("doc", 0));
+    dir = bu_strdup(bu_dir(NULL, 0, BU_DIR_DOC, NULL));
 
     /* get recursive list of documentation files */
     count = help_files(dir, &entries);

Modified: brlcad/trunk/src/libged/rt/rt.c
===================================================================
--- brlcad/trunk/src/libged/rt/rt.c     2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/libged/rt/rt.c     2020-12-18 22:12:44 UTC (rev 78010)
@@ -65,7 +65,7 @@
     args = argc + 7 + 2 + ged_who_argc(gedp);
     gd_rt_cmd = (char **)bu_calloc(args, sizeof(char *), "alloc gd_rt_cmd");
 
-    bin = bu_brlcad_root("bin", 1);
+    bin = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
     if (bin) {
        snprintf(rt, 256, "%s/%s", bin, argv[0]);
     }

Modified: brlcad/trunk/src/libged/rtcheck/rtcheck.c
===================================================================
--- brlcad/trunk/src/libged/rtcheck/rtcheck.c   2020-12-18 21:33:39 UTC (rev 
78009)
+++ brlcad/trunk/src/libged/rtcheck/rtcheck.c   2020-12-18 22:12:44 UTC (rev 
78010)
@@ -199,7 +199,7 @@
     /* initialize result */
     bu_vls_trunc(gedp->ged_result_str, 0);
 
-    bin = bu_brlcad_root("bin", 1);
+    bin = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
     if (bin) {
        snprintf(rtcheck, 256, "%s/%s", bin, argv[0]);
     }

Modified: brlcad/trunk/src/libged/rtwizard/rtwizard.c
===================================================================
--- brlcad/trunk/src/libged/rtwizard/rtwizard.c 2020-12-18 21:33:39 UTC (rev 
78009)
+++ brlcad/trunk/src/libged/rtwizard/rtwizard.c 2020-12-18 22:12:44 UTC (rev 
78010)
@@ -111,7 +111,7 @@
 
     gd_rt_cmd = (char **)bu_calloc(args, sizeof(char *), "alloc gd_rt_cmd");
 
-    bin = bu_brlcad_root("bin", 1);
+    bin = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
     if (bin) {
        snprintf(rtscript, 256, "%s/rtwizard", bin);
     } else {

Modified: brlcad/trunk/src/libtclcad/bu.c
===================================================================
--- brlcad/trunk/src/libtclcad/bu.c     2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/libtclcad/bu.c     2020-12-18 22:12:44 UTC (rev 78010)
@@ -391,8 +391,37 @@
        bu_log("Usage: bu_brlcad_dir dirkey\n");
        return BRLCAD_ERROR;
     }
-    Tcl_AppendResult(interp, bu_brlcad_dir(argv[1], 1), NULL);
-    return BRLCAD_OK;
+    if (BU_STR_EQUAL(argv[1], "bin")) {
+       Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_BIN, NULL), NULL);
+       return BRLCAD_OK;
+    }
+    if (BU_STR_EQUAL(argv[1], "lib")) {
+       Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_LIB, NULL), NULL);
+       return BRLCAD_OK;
+    }
+    if (BU_STR_EQUAL(argv[1], "include")) {
+       Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_INCLUDE, NULL), NULL);
+       return BRLCAD_OK;
+    }
+    if (BU_STR_EQUAL(argv[1], "data")) {
+       Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_DATA, NULL), NULL);
+       return BRLCAD_OK;
+    }
+    if (BU_STR_EQUAL(argv[1], "share")) {
+       Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_DATA, NULL), NULL);
+       return BRLCAD_OK;
+    }
+    if (BU_STR_EQUAL(argv[1], "doc")) {
+       Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_DOC, NULL), NULL);
+       return BRLCAD_OK;
+    }
+
+    if (BU_STR_EQUAL(argv[1], "man")) {
+       Tcl_AppendResult(interp, bu_dir(NULL, 0, BU_DIR_MAN, NULL), NULL);
+       return BRLCAD_OK;
+    }
+
+    return BRLCAD_ERROR;
 }
 
 /**
@@ -414,7 +443,19 @@
        bu_log("Usage: bu_brlcad_root subdir\n");
        return BRLCAD_ERROR;
     }
-    Tcl_AppendResult(interp, bu_brlcad_root(argv[1], 1), NULL);
+    if (argv[1][0] == '/') {
+       Tcl_AppendResult(interp, argv[1], NULL);
+       return BRLCAD_OK;
+    }
+    const char *bdir = bu_dir(NULL, 0, BU_DIR_BIN, NULL);
+    struct bu_vls wpath = BU_VLS_INIT_ZERO;
+    if (!bu_path_component(&wpath, bdir, BU_PATH_DIRNAME)) {
+       bu_vls_free(&wpath);
+       return BRLCAD_ERROR;
+    }
+    const char *npath = bu_dir(NULL, 0, bu_vls_cstr(&wpath), argv[1], NULL);
+    Tcl_AppendResult(interp, npath, NULL);
+    bu_vls_free(&wpath);
     return BRLCAD_OK;
 }
 

Modified: brlcad/trunk/src/mged/mged.c
===================================================================
--- brlcad/trunk/src/mged/mged.c        2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/mged/mged.c        2020-12-18 22:12:44 UTC (rev 78010)
@@ -1474,9 +1474,9 @@
                status = Tcl_Eval(INTERP, bu_vls_addr(&vls));
            } else {
                Tcl_DString temp;
-               const char *archer = 
bu_brlcad_root("share/tclscripts/archer/archer_launch.tcl", 1);
                const char *archer_trans;
                Tcl_DStringInit(&temp);
+               const char *archer = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", 
"archer", "archer_launch.tcl", NULL);
                archer_trans = Tcl_TranslateFileName(INTERP, archer, &temp);
                tclcad_set_argv(INTERP, argc, (const char **)argv);
                status = Tcl_EvalFile(INTERP, archer_trans);

Modified: brlcad/trunk/src/mged/plot.c
===================================================================
--- brlcad/trunk/src/mged/plot.c        2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/mged/plot.c        2020-12-18 22:12:44 UTC (rev 78010)
@@ -151,7 +151,7 @@
     }
 
     if ((pid1 = fork()) == 0) {
-       const char *cad_boundp = bu_brlcad_root("bin/cad_boundp", 1);
+       const char *cad_boundp = bu_dir(NULL, 0, BU_DIR_BIN, "cad_boundp", 
BU_DIR_EXT, NULL);
 
        dup2(fd1[0], fileno(stdin));
        dup2(fd2[1], fileno(stdout));
@@ -167,7 +167,7 @@
     }
 
     if ((pid2 = fork()) == 0) {
-       const char *cad_parea = bu_brlcad_root("bin/cad_parea", 1);
+       const char *cad_parea = bu_dir(NULL, 0, BU_DIR_BIN, "cad_parea", 
BU_DIR_EXT, NULL);
 
        dup2(fd2[0], fileno(stdin));
        dup2(fd3[1], fileno(stdout));

Modified: brlcad/trunk/src/nirt/main.cpp
===================================================================
--- brlcad/trunk/src/nirt/main.cpp      2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/nirt/main.cpp      2020-12-18 22:12:44 UTC (rev 78010)
@@ -151,7 +151,7 @@
     struct bu_vls fl = BU_VLS_INIT_ZERO;
 
     /* get a nirt directory listing */
-    bu_vls_printf(&nfp, "%s", bu_brlcad_root("share/nirt", 0));
+    bu_vls_printf(&nfp, "%s", bu_dir(NULL, 0, BU_DIR_DATA, "nirt", NULL));
     files = bu_file_list(bu_vls_addr(&nfp), suffix, &filearray);
     if (names)
        *names = filearray;
@@ -233,7 +233,7 @@
     if (!file.is_open()) {
        struct bu_vls str = BU_VLS_INIT_ZERO;
 
-       bu_vls_printf(&str, "%s/%s.nrt", bu_brlcad_root("share/nirt", 0), 
argv[0]);
+       bu_vls_printf(&str, "%s/%s.nrt", bu_dir(NULL, 0, BU_DIR_DATA, "nirt", 
NULL), argv[0]);
        file.open(bu_vls_addr(&str));
        bu_vls_free(&str);
 
@@ -644,7 +644,7 @@
        bu_vls_printf(&launch_cmd, "%s", argv[argc-1]);
     }
 
-    /* Let bu_brlcad_root and friends know where we are */
+    /* Let libbu know where we are */
     bu_setprogname(argv[0]);
 
     argv++; argc--;

Modified: brlcad/trunk/src/nirt/nirt.c
===================================================================
--- brlcad/trunk/src/nirt/nirt.c        2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/nirt/nirt.c        2020-12-18 22:12:44 UTC (rev 78010)
@@ -144,7 +144,7 @@
     struct bu_vls vlsfileline = BU_VLS_INIT_ZERO;
 
     /* get a nirt directory listing */
-    bu_vls_printf(&nirtfilespath, "%s", bu_brlcad_root("share/nirt", 0));
+    bu_vls_printf(&nirtfilespath, "%s", bu_dir(NULL, 0, BU_DIR_DATA, "nirt", 
NULL));
     files = bu_file_list(bu_vls_addr(&nirtfilespath), suffix, &filearray);
     if (names)
        *names = filearray;
@@ -258,7 +258,7 @@
        cfPtr = fopen(bu_vls_addr(&str), "rb");
        if (cfPtr == NULL) {
            bu_vls_trunc(&str, 0);
-           bu_vls_printf(&str, "%s/%s.nrt", bu_brlcad_root("share/nirt", 0), 
string);
+           bu_vls_printf(&str, "%s/%s.nrt", bu_dir(NULL, 0, BU_DIR_DATA, 
"nirt", NULL), string);
            cfPtr = fopen(bu_vls_addr(&str), "rb");
            if (cfPtr != NULL) {
                fclose(cfPtr);

Modified: brlcad/trunk/src/rtwizard/main.c
===================================================================
--- brlcad/trunk/src/rtwizard/main.c    2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/rtwizard/main.c    2020-12-18 22:12:44 UTC (rev 78010)
@@ -1136,7 +1136,7 @@
        /* We're using this path on the file system, not in Tcl: translate it
         * to the appropriate form before doing the eval */
        Tcl_DStringInit(&temp);
-       rtwizard = bu_brlcad_root("share/tclscripts/rtwizard/rtwizard", 1);
+       rtwizard = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", "rtwizard", 
"rtwizard", NULL);
        fullname = Tcl_TranslateFileName(interp, rtwizard, &temp);
        status = Tcl_EvalFile(interp, fullname);
        Tcl_DStringFree(&temp);

Modified: brlcad/trunk/src/util/plot3-dm.c
===================================================================
--- brlcad/trunk/src/util/plot3-dm.c    2020-12-18 21:33:39 UTC (rev 78009)
+++ brlcad/trunk/src/util/plot3-dm.c    2020-12-18 22:12:44 UTC (rev 78010)
@@ -1116,7 +1116,7 @@
        bu_exit (1, "appInit: Failed to get main window.\n");
 
     /* Locate the BRL-CAD-specific Tcl scripts */
-    filename = bu_brlcad_root("share/tclscripts", 0);
+    filename = bu_dir(NULL, 0, BU_DIR_DATA, "tclscripts", NULL);
 
     bu_vls_printf(&str2, "%s/plot3-dm", filename);
     bu_vls_printf(&str, "wm withdraw .; set auto_path [linsert $auto_path 0 %s 
%s]",

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