@@ -347,6 +347,7 @@ void help(void)
347
347
"-D module_name compile a dynamically loaded module or worker\n"
348
348
"-M module_name[,cname] add initialization code for an external C module\n"
349
349
"-p prefix set the prefix of the generated C names\n"
350
+ "-P do not add default system modules\n"
350
351
"-s strip the source code, specify twice to also strip debug info\n"
351
352
"-S n set the maximum stack size to 'n' bytes (default=%d)\n" ,
352
353
JS_GetVersion (),
@@ -404,6 +405,7 @@ int main(int argc, char **argv)
404
405
int module ;
405
406
size_t stack_size ;
406
407
namelist_t dynamic_module_list ;
408
+ bool load_system_modules = true;
407
409
408
410
out_filename = NULL ;
409
411
script_name = NULL ;
@@ -415,14 +417,6 @@ int main(int argc, char **argv)
415
417
memset (& dynamic_module_list , 0 , sizeof (dynamic_module_list ));
416
418
417
419
418
- /* add system modules */
419
- namelist_add (& cmodule_list , "qjs:std" , "std" , 0 );
420
- namelist_add (& cmodule_list , "qjs:os" , "os" , 0 );
421
- namelist_add (& cmodule_list , "qjs:bjson" , "bjson" , 0 );
422
- namelist_add (& cmodule_list , "std" , "std" , 0 );
423
- namelist_add (& cmodule_list , "os" , "os" , 0 );
424
- namelist_add (& cmodule_list , "bjson" , "bjson" , 0 );
425
-
426
420
while (optind < argc && * argv [optind ] == '-' ) {
427
421
char * arg = argv [optind ] + 1 ;
428
422
const char * longopt = "" ;
@@ -519,6 +513,10 @@ int main(int argc, char **argv)
519
513
namelist_add (& dynamic_module_list , optarg , NULL , 0 );
520
514
continue ;
521
515
}
516
+ if (opt == 'P' ) {
517
+ load_system_modules = false;
518
+ continue ;
519
+ }
522
520
if (opt == 's' ) {
523
521
strip ++ ;
524
522
continue ;
@@ -543,6 +541,16 @@ int main(int argc, char **argv)
543
541
}
544
542
}
545
543
544
+ if (load_system_modules ) {
545
+ /* add system modules */
546
+ namelist_add (& cmodule_list , "qjs:std" , "std" , 0 );
547
+ namelist_add (& cmodule_list , "qjs:os" , "os" , 0 );
548
+ namelist_add (& cmodule_list , "qjs:bjson" , "bjson" , 0 );
549
+ namelist_add (& cmodule_list , "std" , "std" , 0 );
550
+ namelist_add (& cmodule_list , "os" , "os" , 0 );
551
+ namelist_add (& cmodule_list , "bjson" , "bjson" , 0 );
552
+ }
553
+
546
554
if (optind >= argc )
547
555
help ();
548
556
0 commit comments