procedure TPU_substitute(pat,value) local r; position (beginning_of (main_buffer)); loop r := search_quietly (pat, FORWARD); EXITIF r = 0; erase (r); position (r); copy_text (value); position (end_of (r)); endloop; endprocedure; ! This is the main thing. input_file := GET_INFO (COMMAND_LINE, "file_name"); main_buffer := CREATE_BUFFER ("main", input_file); p_0_or_more_spc := (span(" "+ASCII(9)) | ""); position (beginning_of (main_buffer)); ! Here it is time to put the calls. position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("startupdir"+ ((p_0_or_more_spc +"=")@r1))@r0+LINE_END,FORWARD); if (r = 0) then position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("startupdir"+ ((p_0_or_more_spc +"=")@r1)+scan(""))@r0+LINE_END,FORWARD); endif; if (r <> 0) then res := "startupdir" + "="+"SYS$COMMON:[SYS$STARTUP]"; erase(r0); position(r0); copy_text(res); endif; position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("prefix_dev"+ ((p_0_or_more_spc +"=")@r1))@r0+LINE_END,FORWARD); if (r = 0) then position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("prefix_dev"+ ((p_0_or_more_spc +"=")@r1)+scan(""))@r0+LINE_END,FORWARD); endif; if (r <> 0) then res := "prefix_dev" + "="+"SYS$SYSDEVICE:"; erase(r0); position(r0); copy_text(res); endif; position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("prefix_dir"+ ((p_0_or_more_spc +"=")@r1))@r0+LINE_END,FORWARD); if (r = 0) then position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("prefix_dir"+ ((p_0_or_more_spc +"=")@r1)+scan(""))@r0+LINE_END,FORWARD); endif; if (r <> 0) then res := "prefix_dir" + "="+"GNU"; erase(r0); position(r0); copy_text(res); endif; position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("prefix"+ ((p_0_or_more_spc +"=")@r1))@r0+LINE_END,FORWARD); if (r = 0) then position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("prefix"+ ((p_0_or_more_spc +"=")@r1)+scan(""))@r0+LINE_END,FORWARD); endif; if (r <> 0) then res := "prefix" + "="+"SYS$SYSDEVICE:[GNU]"; erase(r0); position(r0); copy_text(res); endif; position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("exec_prefix_dev"+ ((p_0_or_more_spc +"=")@r1))@r0+LINE_END,FORWARD); if (r = 0) then position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("exec_prefix_dev"+ ((p_0_or_more_spc +"=")@r1)+scan(""))@r0+LINE_END,FORWARD); endif; if (r <> 0) then res := "exec_prefix_dev" + "="+"SYS$SYSDEVICE:"; erase(r0); position(r0); copy_text(res); endif; position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("exec_prefix_dir"+ ((p_0_or_more_spc +"=")@r1))@r0+LINE_END,FORWARD); if (r = 0) then position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("exec_prefix_dir"+ ((p_0_or_more_spc +"=")@r1)+scan(""))@r0+LINE_END,FORWARD); endif; if (r <> 0) then res := "exec_prefix_dir" + "="+"GNU"; erase(r0); position(r0); copy_text(res); endif; position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("exec_prefix"+ ((p_0_or_more_spc +"=")@r1))@r0+LINE_END,FORWARD); if (r = 0) then position(beginning_of (main_buffer)); r := search_quietly(LINE_BEGIN+("exec_prefix"+ ((p_0_or_more_spc +"=")@r1)+scan(""))@r0+LINE_END,FORWARD); endif; if (r <> 0) then res := "exec_prefix" + "="+"SYS$SYSDEVICE:[GNU]"; erase(r0); position(r0); copy_text(res); endif; TPU_substitute("@"+"startupdir"+"@","SYS$COMMON:[SYS$STARTUP]"); TPU_substitute("@"+"dcltable"+"@",""); TPU_substitute("@"+"LDFLAGS"+"@","/NOUSERLIBRARY"); TPU_substitute("@"+"CC"+"@","CC"); TPU_substitute("@"+"sys_includes"+"@",""); TPU_substitute("@"+"OPTS"+"@",""); TPU_substitute("@"+"LIBS"+"@",""); TPU_substitute("@"+"CFLAGS"+"@","/NESTED=INCLUDE"); TPU_substitute("@"+"CPP"+"@","CC /NESTED=INCLUDE/PREPROCESS="); TPU_substitute("@"+"INSTALL"+"@","@[.VMS]COPY ""/PROT=(S:RWED,O:RWED,G:RE,W:RE)"""); TPU_substitute("@"+"INSTALL_PROGRAM"+"@","@[.VMS]COPY ""/PROT=(S:RWED,O:RWED,G:RE,W:RE)"""); TPU_substitute("@"+"INSTALL_DATA"+"@","@[.VMS]COPY ""/PROT=(S:RWED,O:RWED,G:RE,W:RE)"""); TPU_substitute("@"+"INSTALL_QUOTED"+"@","@[.VMS]COPY """"/PROT=(S:RWED,O:RWED,G:RE,W:RE)"""""); TPU_substitute("@"+"INSTALL_PROGRAM_QUOTED"+"@","@[.VMS]COPY """"/PROT=(S:RWED,O:RWED,G:RE,W:RE)"""""); TPU_substitute("@"+"INSTALL_DATA_QUOTED"+"@","@[.VMS]COPY """"/PROT=(S:RWED,O:RWED,G:RE,W:RE)"""""); TPU_substitute("@"+"ALLOCA"+"@",""); TPU_substitute("@"+"version"+"@","1.22"); TPU_substitute("@"+"version_us"+"@","1_22"); TPU_substitute("@"+"srcdir_dev"+"@",""); TPU_substitute("@"+"srcdir_dir"+"@",""); TPU_substitute("@"+"srcdir"+"@","[]"); TPU_substitute("@"+"top_srcdir_dev"+"@",""); TPU_substitute("@"+"top_srcdir_dir"+"@",""); TPU_substitute("@"+"top_srcdir"+"@","[]"); TPU_substitute("@"+"prefix_dev"+"@","SYS$SYSDEVICE:"); TPU_substitute("@"+"prefix_dir"+"@","GNU"); TPU_substitute("@"+"prefix"+"@","SYS$SYSDEVICE:[GNU]"); TPU_substitute("@"+"exec_prefix_dev"+"@","SYS$SYSDEVICE:"); TPU_substitute("@"+"exec_prefix_dir"+"@","GNU"); TPU_substitute("@"+"exec_prefix"+"@","SYS$SYSDEVICE:[GNU]"); TPU_substitute("@DEFS@","""const""="""",@DEFS@"); TPU_substitute("@QUOTED_DEFS@","""""""const""""="""""""""",@QUOTED_DEFS@"); TPU_substitute("@DEFS@","""STDC_HEADERS""=""1"",@DEFS@"); TPU_substitute("@QUOTED_DEFS@","""""""STDC_HEADERS""""=""""1"""""",@QUOTED_DEFS@"); TPU_substitute("@DEFS@","""HAVE_STRING_H""=""1"",@DEFS@"); TPU_substitute("@QUOTED_DEFS@","""""""HAVE_STRING_H""""=""""1"""""",@QUOTED_DEFS@"); TPU_substitute("@DEFS@","""HAVE_STDLIB_H""=""1"",@DEFS@"); TPU_substitute("@QUOTED_DEFS@","""""""HAVE_STDLIB_H""""=""""1"""""",@QUOTED_DEFS@"); TPU_substitute("@DEFS@","""HAVE_MEMORY_H""=""1"",@DEFS@"); TPU_substitute("@QUOTED_DEFS@","""""""HAVE_MEMORY_H""""=""""1"""""",@QUOTED_DEFS@"); TPU_substitute("@DEFS@","""HAVE_STRERROR""=""1"",@DEFS@"); TPU_substitute("@QUOTED_DEFS@","""""""HAVE_STRERROR""""=""""1"""""",@QUOTED_DEFS@"); TPU_substitute("@DEFS@","""HAVE_BCOPY""=""1"",@DEFS@"); TPU_substitute("@QUOTED_DEFS@","""""""HAVE_BCOPY""""=""""1"""""",@QUOTED_DEFS@"); TPU_substitute("@DEFS@","""HAVE_ALLOCA""=""1"""); TPU_substitute("@QUOTED_DEFS@","""""""HAVE_ALLOCA""""=""""1"""""""); ! Now let's save it all WRITE_FILE(main_buffer, GET_INFO(COMMAND_LINE, "output_file")); quit;