dynconfig: Have only one dynconfig.o in the common code.
[sfrench/samba-autobuild/.git] / source3 / script / mkbuildoptions.awk
index 02562cf7b2e85c56b5981919a4190b0bcbb7e9ae..3cd0dace213d02553b42d7e4de3e263b0f9784e5 100644 (file)
@@ -21,31 +21,33 @@ BEGIN {
        print "";
        print "#include \"includes.h\"";
        print "#include \"build_env.h\"";
-       print "#include \"dynconfig.h\"";
+       print "#include \"dynconfig/dynconfig.h\"";
        print "";
-       print "static void output(bool screen, const char *format, ...) PRINTF_ATTRIBUTE(2,3);";
+       print "static int output(bool screen, const char *format, ...) PRINTF_ATTRIBUTE(2,3);";
        print "void build_options(bool screen);";
        print "";
        print "";
        print "/****************************************************************************";
        print "helper function for build_options";
        print "****************************************************************************/";
-       print "static void output(bool screen, const char *format, ...)";
+       print "static int output(bool screen, const char *format, ...)";
        print "{";
-       print "       char *ptr;";
+       print "       char *ptr = NULL;";
+       print "       int ret = 0;";
        print "       va_list ap;";
        print "       ";
        print "       va_start(ap, format);";
-       print "       vasprintf(&ptr,format,ap);";
+       print "       ret = vasprintf(&ptr,format,ap);";
        print "       va_end(ap);";
        print "";
        print "       if (screen) {";
-       print "              d_printf(\"%s\", ptr);";
+       print "              d_printf(\"%s\", ptr ? ptr : \"\");";
        print "       } else {";
-       print "        DEBUG(4,(\"%s\", ptr));";
+       print "        DEBUG(4,(\"%s\", ptr ? ptr : \"\"));";
        print "       }";
        print "       ";
        print "       SAFE_FREE(ptr);";
+       print "       return ret;";
        print "}";
        print "";
        print "/****************************************************************************";
@@ -88,6 +90,8 @@ BEGIN {
        print "       output(screen,\"   SHLIBEXT: %s\\n\",get_dyn_SHLIBEXT());";
 
        print "       output(screen,\"   LOCKDIR: %s\\n\",get_dyn_LOCKDIR());";
+       print "       output(screen,\"   STATEDIR: %s\\n\",get_dyn_STATEDIR());";
+       print "       output(screen,\"   CACHEDIR: %s\\n\",get_dyn_CACHEDIR());";
        print "       output(screen,\"   PIDDIR: %s\\n\", get_dyn_PIDDIR());";
 
        print "       output(screen,\"   SMB_PASSWD_FILE: %s\\n\",get_dyn_SMB_PASSWD_FILE());";