-#define PERLVAR(var,type) /**/
-#define PERLVARI(var,type,init) Perl_Vars.var = init;
-#define PERLVARIC(var,type,init) Perl_Vars.var = init;
-#include "perlvars.h"
-#undef PERLVAR
-#undef PERLVARI
-#undef PERLVARIC
+ struct perl_vars *plvarsp = init_global_struct();
+# ifdef PERL_GLOBAL_STRUCT_PRIVATE
+ my_vars = my_plvarsp = plvarsp;
+# endif
+#endif /* PERL_GLOBAL_STRUCT */
+ (void)env;
+#ifndef PERL_USE_SAFE_PUTENV
+ PL_use_safe_putenv = 0;
+#endif /* PERL_USE_SAFE_PUTENV */
+
+ /* if user wants control of gprof profiling off by default */
+ /* noop unless Configure is given -Accflags=-DPERL_GPROF_CONTROL */
+ PERL_GPROF_MONCONTROL(0);
+
+ PERL_SYS_INIT3(&argc,&argv,&env);
+
+#if defined(USE_ITHREADS)
+ /* XXX Ideally, this should really be happening in perl_alloc() or
+ * perl_construct() to keep libperl.a transparently fork()-safe.
+ * It is currently done here only because Apache/mod_perl have
+ * problems due to lack of a call to cancel pthread_atfork()
+ * handlers when shared objects that contain the handlers may
+ * be dlclose()d. This forces applications that embed perl to
+ * call PTHREAD_ATFORK() explicitly, but if and only if it hasn't
+ * been called at least once before in the current process.
+ * --GSAR 2001-07-20 */
+ PTHREAD_ATFORK(Perl_atfork_lock,
+ Perl_atfork_unlock,
+ Perl_atfork_unlock);