Print this page
make: unifdef for MAKETOOL and DISTRIBUTED (undefined)
@@ -62,153 +62,10 @@
*/
static void change_sunpro_dependencies_value(char *oldpath, char *newpath);
static void init_mksh_globals(char *shell);
static void set_env_vars(char *env_list[]);
-#if defined(DISTRIBUTED) || defined(MAKETOOL) /* tolik */
-/*
- * Execute the command(s) of one Make or DMake rule
- */
-int
-do_job(Avo_DmakeCommand *cmd_list[], char *env_list[], char *stdout_file, char *stderr_file, char *cwd, char *cnwd, int ignore, int silent, pathpt vroot_path, char *shell, int nice_prio)
-{
- Boolean always_exec_flag;
- char *cmd;
- Avo_DmakeCommand **cmd_list_p;
- Name command;
- Boolean do_not_exec_flag;
- Boolean ignore_flag;
- int length;
- Boolean make_refd_flag;
- Boolean meta_flag;
- char pathname[MAXPATHLEN];
- Doname result;
- Boolean silent_flag;
- wchar_t *tmp_wcs_buffer;
-
- if ((childPid = fork()) < 0) { /* error */
- ;
- } else if (childPid > 0) { /* parent */
- ;
- } else { /* child, mksh */
- (void) sigset(SIGCHLD, SIG_DFL);
- enable_interrupt(handle_interrupt_mksh);
- /* set environment variables */
- set_env_vars(env_list);
- /* redirect stdout and stderr to temp files */
- dup2(1, 2); // Because fatal_mksh() prints error messages into
- // stderr but dmake uses stderr for XDR communications
- // and stdout for errors messages.
- redirect_io(stdout_file, stderr_file);
- /* try cd'ing to cwd */
- if (my_chdir(cwd) != 0) {
- /* try the netpath machine:pathname */
- if (!avo_netpath_to_path(cnwd, pathname)) {
- fatal_mksh(catgets(libmksdmsi18n_catd, 1, 137, "`cd %s' failed, and conversion of %s to automounter pathname also failed: %s"), cwd, cnwd, strerror(errno));
- } else if (my_chdir(pathname) != 0) {
- fatal_mksh(catgets(libmksdmsi18n_catd, 1, 138, "`cd %s' and `cd %s' both failed: %s"), cwd, pathname, strerror(errno));
- }
- /*
- * change the value of SUNPRO_DEPENDENCIES
- * to the new path.
- */
- change_sunpro_dependencies_value(cwd, pathname);
- }
- init_mksh_globals(shell);
- for (cmd_list_p = cmd_list;
- *cmd_list_p != (Avo_DmakeCommand *) NULL;
- cmd_list_p++) {
- if ((*cmd_list_p)->ignore()) {
- ignore_flag = true;
- } else {
- ignore_flag = false;
- }
- if ((*cmd_list_p)->silent()) {
- silent_flag = true;
- } else {
- silent_flag = false;
- }
-/*
- if ((*cmd_list_p)->always_exec()) {
- always_exec_flag = true;
- } else {
- always_exec_flag = false;
- }
- */
- always_exec_flag = false;
- if ((*cmd_list_p)->meta()) {
- meta_flag = true;
- } else {
- meta_flag = false;
- }
- if ((*cmd_list_p)->make_refd()) {
- make_refd_flag = true;
- } else {
- make_refd_flag = false;
- }
- if ((*cmd_list_p)->do_not_exec()) {
- do_not_exec_flag = true;
- } else {
- do_not_exec_flag = false;
- }
- do_not_exec_rule = do_not_exec_flag;
- cmd = (*cmd_list_p)->getCmd();
- if ((length = strlen(cmd)) >= MAXPATHLEN) {
- tmp_wcs_buffer = ALLOC_WC(length + 1);
- (void) mbstowcs(tmp_wcs_buffer, cmd, length + 1);
- command = GETNAME(tmp_wcs_buffer, FIND_LENGTH);
- retmem(tmp_wcs_buffer);
- } else {
- MBSTOWCS(wcs_buffer, cmd);
- command = GETNAME(wcs_buffer, FIND_LENGTH);
- }
- if ((command->hash.length > 0) &&
- (!silent_flag || do_not_exec_flag)) {
- (void) printf("%s\n", command->string_mb);
- }
- result = dosys_mksh(command,
- ignore_flag,
- make_refd_flag,
- false, /* bugs #4085164 & #4990057 */
- /* BOOLEAN(silent_flag && ignore_flag), */
- always_exec_flag,
- (Name) NULL,
- false,
- NULL,
- NULL,
- vroot_path,
- nice_prio);
- if (result == build_failed) {
-
-#ifdef PRINT_EXIT_STATUS
- warning_mksh(NOCATGETS("I'm in do_job(), and dosys_mksh() returned result of build_failed."));
-#endif
-
- if (silent_flag) {
- (void) printf(catgets(libmksdmsi18n_catd, 1, 139, "The following command caused the error:\n%s\n"),
- command->string_mb);
- }
- if (!ignore_flag && !ignore) {
-
-#ifdef PRINT_EXIT_STATUS
- warning_mksh(NOCATGETS("I'm in do_job(), and dosys_mksh() returned result of build_failed, exiting 1."));
-#endif
-
- exit(1);
- }
- }
- }
-
-#ifdef PRINT_EXIT_STATUS
- warning_mksh(NOCATGETS("I'm in do_job(), exiting 0."));
-#endif
-
- exit(0);
- }
- return childPid;
-}
-#endif /* TEAMWARE_MAKE_CMN */
static void
set_env_vars(char *env_list[])
{
char **env_list_p;