Index: libcfa/src/parseargs.cfa
===================================================================
--- libcfa/src/parseargs.cfa	(revision eccb14d7241424d1aae22fb905858900c58eaa4e)
+++ libcfa/src/parseargs.cfa	(revision 433d352965a6a24e85cc28f12f2dfbca8d069ec2)
@@ -25,12 +25,18 @@
 #include "limits.hfa"
 
-extern int cfa_args_argc;
-extern char ** cfa_args_argv;
-extern char ** cfa_args_envp;
+extern int cfa_args_argc __attribute__((weak));
+extern char ** cfa_args_argv __attribute__((weak));
+extern char ** cfa_args_envp __attribute__((weak));
 
 static void usage(char * cmd, cfa_option options[], size_t opt_count, const char * usage, FILE * out)  __attribute__ ((noreturn));
 
 void parse_args( cfa_option options[], size_t opt_count, const char * usage, char ** & left ) {
-	parse_args(cfa_args_argc, cfa_args_argv, options, opt_count, usage, left );
+	if( 0p != &cfa_args_argc ) {
+		parse_args(cfa_args_argc, cfa_args_argv, options, opt_count, usage, left );
+	}
+	else {
+		char * temp = "";
+		parse_args(0, &temp, options, opt_count, usage, left );
+	}
 }
 
