annotate depcomp @ 112364:42e22c4f06b7

Move all DEFVAR'd globals into a structure -- threading infrastructure * globals.h: New file. * xterm.h (Vx_pixel_size_width_font_regexp): Remove declaration. * window.h (Vinitial_window_system, Vminibuf_scroll_window) (Vwindow_system_version): Remove declaration. * w32term.h (Vw32_enable_palette) (Vx_pixel_size_width_font_regexp): Remove declaration. * w32menu.c (Voverriding_local_map) (Voverriding_local_map_menu_flag): Remove declaration. * w32inevt.c (Vw32_alt_is_meta, Vw32_apps_modifier) (Vw32_capslock_is_shiftlock, Vw32_enable_caps_lock) (Vw32_enable_num_lock, Vw32_lwindow_modifier) (Vw32_pass_lwindow_to_system, Vw32_pass_rwindow_to_system) (Vw32_phantom_key_code, Vw32_recognize_altgr) (Vw32_rwindow_modifier, Vw32_scroll_lock_modifier) (w32_use_full_screen_buffer): Remove declaration. * w32.c (Vsystem_configuration, Vw32_downcase_file_names) (Vw32_generate_fake_inodes, Vw32_get_true_file_attributes) (w32_num_mouse_buttons, w32_pipe_read_delay): Remove declaration. * termopts.h (Vtruncate_partial_width_windows, inverse_video) (no_redraw_on_reenter, visible_bell): Remove declaration. * sysdep.c (Vsystem_name): Remove declaration. * syntax.h (parse_sexp_lookup_properties): Remove declaration. * menu.h (Vmenu_updating_frame): Remove declaration. * macros.h (Vexecuting_kbd_macro, executing_kbd_macro_index): Remove declaration. * lisp.h (Vafter_init_time, Vafter_load_alist) (Vauto_save_list_file_name, Vbefore_init_time, Vcommand_history) (Vcompletion_regexp_list, Vcurrent_load_list) (Vcurrent_prefix_arg, Vdata_directory, Vdebug_on_error) (Vdoc_directory, Vdoc_file_name, Vdynamic_library_alist) (Vexec_directory, Vexec_path, Vexec_suffixes) (Vface_font_rescale_alist, Vface_ignored_fonts, Vfeatures) (Vhelp_form, Vhistory_length, Vinhibit_field_text_motion) (Vinhibit_quit, Vinhibit_read_only, Vinhibit_redisplay) (Vinstallation_directory, Vinvocation_directory) (Vinvocation_name, Vload_file_rep_suffixes, Vload_history) (Vload_suffixes, Vmark_even_if_inactive, Vmemory_full) (Vmessage_log_max, Vobarray, Vprint_length, Vprint_level) (Vpurify_flag, Vquit_flag, Vsaved_region_selection) (Vscalable_fonts_allowed, Vselect_active_regions) (Vshell_file_name, Vstandard_input, Vstandard_output) (Vsystem_name, Vtemporary_file_directory, Vthrow_on_input) (Vtop_level, Vtty_erase_char, Vundo_outer_limit) (Vuser_login_name, Vwindow_scroll_functions) (Vwindow_system_version, Vx_no_window_manager) (Vx_resource_class, Vx_resource_name, baud_rate) (completion_ignore_case, debug_on_next_call, gc_cons_threshold) (history_delete_duplicates, inhibit_x_resources) (last_nonmenu_event, load_in_progress, max_specpdl_size) (minibuffer_auto_raise, print_escape_newlines, scroll_margin) (use_dialog_box, use_file_dialog): Remove declaration. Include globals.h. * keymap.h (Voverriding_local_map) (Voverriding_local_map_menu_flag, meta_prefix_char): Remove declaration. * keyboard.h (Vdouble_click_time, Vfunction_key_map) (Vinput_method_function, Vkey_translation_map) (Vlucid_menu_bar_dirty_flag, Vthis_original_command) (do_mouse_tracking, extra_keyboard_modifiers) (num_nonmacro_input_events): Remove declaration. * intervals.h (Vchar_property_alias_alist) (Vdefault_text_properties, Vinhibit_point_motion_hooks) (Vtext_property_default_nonsticky): Remove declaration. * gtkutil.h (x_gtk_file_dialog_help_text) (x_gtk_show_hidden_files, x_gtk_use_old_file_dialog) (x_gtk_whole_detached_tool_bar): Remove declaration. * frame.h (Vdefault_frame_alist, Vframe_alpha_lower_limit) (Vmenu_bar_mode, Vmouse_highlight, Vterminal_frame) (Vtool_bar_mode, Vx_resource_class, Vx_resource_name) (focus_follows_mouse): Remove declaration. * fontset.h (Valternate_fontname_alist, Vfontset_alias_alist) (Vignore_relative_composition, Votf_script_alist) (Vuse_default_ascent, Vvertical_centering_font_regexp): Remove declaration. * font.h (Vfont_log): Remove declaration. * dosfns.h (Vdos_display_scancodes, Vdos_version) (Vdos_windows_version, dos_codepage, dos_country_code) (dos_decimal_point, dos_hyper_key, dos_keyboard_layout) (dos_keypad_mode, dos_super_key, dos_timezone_offset): Remove declaration. * disptab.h (Vglyph_table, Vstandard_display_table): Remove declaration. * dispextern.h (Vface_remapping_alist, Vglyphless_char_display) (Vmouse_autoselect_window, Voverflow_newline_into_fringe) (Vshow_trailing_whitespace, Vtool_bar_button_margin) (Vtool_bar_style, cursor_in_echo_area, display_hourglass_p) (inverse_video, mode_line_in_non_selected_windows) (tool_bar_button_relief, tool_bar_max_label_size) (underline_minimum_offset) (unibyte_display_via_language_environment, x_stretch_cursor_p): Remove declaration. * composite.h (Vauto_composition_function) (Vcomposition_function_table): Remove declaration. * commands.h (Vexecuting_kbd_macro) (Vminibuffer_local_completion_map) (Vminibuffer_local_filename_completion_map) (Vminibuffer_local_filename_must_match_map) (Vminibuffer_local_map, Vminibuffer_local_must_match_map) (Vminibuffer_local_ns_map, Vthis_command) (Vunread_command_events, cursor_in_echo_area) (last_command_event, last_nonmenu_event, unread_command_char): Remove declaration. * coding.h (Vcoding_system_for_read, Vcoding_system_for_write) (Vdefault_file_name_coding_system) (Vdefault_process_coding_system, Vfile_name_coding_system) (Vlast_coding_system_used, Vlocale_coding_system) (Vselect_safe_coding_system_function) (Vtranslation_table_for_input, coding_system_require_warning) (eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided) (eol_mnemonic_unix, inherit_process_coding_system): Remove declaration. * charset.h (Vcharset_list, Vcurrent_iso639_language): Remove declaration. * character.h (Vauto_fill_chars, Vchar_direction_table) (Vchar_script_table, Vchar_width_table, Vprintable_chars) (Vscript_representative_chars, Vtranslation_table_vector) (Vunicode_category_table): Remove declaration. * ccl.h (Vfont_ccl_encoder_alist): Remove declaration. * buffer.h (Vafter_change_functions, Vbefore_change_functions) (Vdeactivate_mark, Vfirst_change_hook, Vtransient_mark_mode) (inhibit_modification_hooks): Remove declaration. * xterm.c (syms_of_xterm): Update. (Vx_alt_keysym, Vx_hyper_keysym, Vx_keysym_table) (Vx_meta_keysym, Vx_super_keysym, Vx_toolkit_scroll_bars) (x_mouse_click_focus_ignore_position) (x_underline_at_descent_line) (x_use_underline_position_properties): Remove. * xsmfns.c (syms_of_xsmfns): Update. (Vx_session_id, Vx_session_previous_id): Remove. * xsettings.c (syms_of_xsettings): Update. (Vxft_settings, use_system_font): Remove. * xselect.c (syms_of_xselect): Update. (Vselection_converter_alist, Vx_lost_selection_functions) (Vx_sent_selection_functions, x_selection_timeout): Remove. * xfns.c (syms_of_xfns): Update. (Vgtk_version_string, Vmotif_version_string) (Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape) (Vx_max_tooltip_size, Vx_mode_pointer_shape) (Vx_no_window_manager, Vx_nontext_pointer_shape) (Vx_pixel_size_width_font_regexp, Vx_pointer_shape) (Vx_sensitive_text_pointer_shape) (Vx_window_horizontal_drag_shape, x_gtk_file_dialog_help_text) (x_gtk_show_hidden_files, x_gtk_use_old_file_dialog) (x_gtk_use_system_tooltips, x_gtk_whole_detached_tool_bar): Remove. * xfaces.c (syms_of_xfaces): Update. (Vface_default_stipple, Vface_font_rescale_alist) (Vface_ignored_fonts, Vface_new_frame_defaults) (Vface_remapping_alist, Vfont_list_limit) (Vscalable_fonts_allowed, Vtty_defined_color_alist): Remove. * xdisp.c (syms_of_xdisp): Update. (Vauto_resize_tool_bars, Vblink_cursor_alist) (Vdisplay_pixels_per_inch, Vfontification_functions) (Vframe_title_format, Vglobal_mode_string) (Vglyphless_char_display, Vhourglass_delay, Vhscroll_step) (Vicon_title_format, Vinhibit_redisplay) (Vline_number_display_limit, Vline_prefix) (Vmax_mini_window_height, Vmenu_bar_update_hook) (Vmenu_updating_frame, Vmessage_log_max) (Vmouse_autoselect_window, Vnobreak_char_display) (Voverlay_arrow_position, Voverlay_arrow_string) (Voverlay_arrow_variable_list, Vredisplay_end_trigger_functions) (Vresize_mini_windows, Vshow_trailing_whitespace) (Vtool_bar_border, Vtool_bar_button_margin, Vtool_bar_style) (Vtruncate_partial_width_windows, Vvoid_text_area_pointer) (Vwindow_scroll_functions, Vwindow_size_change_functions) (Vwindow_text_change_functions, Vwrap_prefix) (auto_raise_tool_bar_buttons_p, automatic_hscrolling_p) (debug_end_pos, display_hourglass_p, emacs_scroll_step) (highlight_nonselected_windows, hscroll_margin) (inhibit_eval_during_redisplay, inhibit_free_realized_faces) (inhibit_menubar_update, inhibit_try_cursor_movement) (inhibit_try_window_id, inhibit_try_window_reusing) (line_number_display_limit_width) (make_cursor_line_fully_visible_p, message_truncate_lines) (mode_line_inverse_video, multiple_frames, overline_margin) (scroll_conservatively, scroll_margin, tool_bar_button_relief) (tool_bar_max_label_size, underline_minimum_offset) (unibyte_display_via_language_environment, x_stretch_cursor_p): Remove. * window.c (syms_of_window): Update. (Vminibuf_scroll_window, Vother_window_scroll_buffer) (Vrecenter_redisplay, Vscroll_preserve_screen_position) (Vtemp_buffer_show_function, Vwindow_configuration_change_hook) (Vwindow_point_insertion_type, auto_window_vscroll_p) (mode_line_in_non_selected_windows, next_screen_context_lines) (window_min_height, window_min_width): Remove. (scroll_margin): Remove declaration. * w32term.c (syms_of_w32term): Update. (Vw32_capslock_is_shiftlock, Vw32_grab_focus_on_raise) (Vw32_recognize_altgr, Vw32_swap_mouse_buttons) (Vx_toolkit_scroll_bars, w32_num_mouse_buttons) (w32_use_visible_system_caret, x_underline_at_descent_line) (x_use_underline_position_properties): Remove. (Vcommand_line_args, Vsystem_name, extra_keyboard_modifiers): Remove declaration. * w32select.c (syms_of_w32select): Update. (Vnext_selection_coding_system, Vselection_coding_system): Remove. * w32proc.c (syms_of_ntproc): Update. (Vw32_downcase_file_names, Vw32_generate_fake_inodes) (Vw32_get_true_file_attributes, Vw32_quote_process_args) (Vw32_start_process_inherit_error_mode) (Vw32_start_process_share_console) (Vw32_start_process_show_window, w32_pipe_read_delay): Remove. (Vsystem_name): Remove declaration. * w32font.c (syms_of_w32font): Update. (Vw32_charset_info_alist): Remove. * w32fns.c (globals_of_w32fns, syms_of_w32fns): Update. (Vw32_alt_is_meta, Vw32_apps_modifier, Vw32_bdf_filename_alist) (Vw32_color_map, Vw32_enable_caps_lock, Vw32_enable_num_lock) (Vw32_enable_palette, Vw32_lwindow_modifier) (Vw32_pass_alt_to_system, Vw32_pass_lwindow_to_system) (Vw32_pass_rwindow_to_system, Vw32_phantom_key_code) (Vw32_rwindow_modifier, Vw32_scroll_lock_modifier) (Vx_cursor_fore_pixel, Vx_hourglass_pointer_shape) (Vx_max_tooltip_size, Vx_mode_pointer_shape) (Vx_no_window_manager, Vx_nontext_pointer_shape) (Vx_pixel_size_width_font_regexp, Vx_pointer_shape) (Vx_sensitive_text_pointer_shape) (Vx_window_horizontal_drag_shape, w32_ansi_code_page) (w32_enable_synthesized_fonts, w32_mouse_button_tolerance) (w32_mouse_move_interval) (w32_pass_extra_mouse_buttons_to_system) (w32_pass_multimedia_buttons_to_system, w32_quit_key) (w32_strict_fontnames, w32_strict_painting): Remove. (Vhourglass_delay, Vmenu_bar_mode, Vtool_bar_mode) (Vw32_recognize_altgr, Vwindow_system_version) (w32_num_mouse_buttons, w32_use_visible_system_caret): Remove declaration. * w32console.c (syms_of_ntterm): Update. (w32_use_full_screen_buffer): Remove. (Vtty_defined_color_alist): Remove declaration. * w16select.c (syms_of_win16select): Update. (Vnext_selection_coding_system, Vselection_coding_system): Remove. * undo.c (syms_of_undo): Update. (Vundo_outer_limit, Vundo_outer_limit_function) (undo_inhibit_record_point, undo_limit, undo_strong_limit): Remove. * textprop.c (syms_of_textprop): Update. (Vchar_property_alias_alist, Vdefault_text_properties) (Vinhibit_point_motion_hooks, Vtext_property_default_nonsticky): Remove. * terminal.c (syms_of_terminal): Update. (Vdelete_terminal_functions, Vring_bell_function): Remove. * term.c (syms_of_term): Update. (Vresume_tty_functions, Vsuspend_tty_functions) (no_redraw_on_reenter, system_uses_terminfo, visible_cursor): Remove. * syntax.c (syms_of_syntax): Update. (Vfind_word_boundary_function_table, multibyte_syntax_as_symbol) (open_paren_in_column_0_is_defun_start) (parse_sexp_ignore_comments, parse_sexp_lookup_properties) (words_include_escapes): Remove. * search.c (syms_of_search): Update. (Vinhibit_changing_match_data, Vsearch_spaces_regexp): Remove. * process.c (syms_of_process): Update. (Vprocess_adaptive_read_buffering, Vprocess_connection_type) (delete_exited_processes): Remove. * print.c (syms_of_print): Update. (Vfloat_output_format, Vprint_charset_text_property) (Vprint_circle, Vprint_continuous_numbering, Vprint_gensym) (Vprint_length, Vprint_level, Vprint_number_table) (Vstandard_output, print_escape_multibyte) (print_escape_newlines, print_escape_nonascii, print_quoted): Remove. * msdos.c (syms_of_msdos): Update. (Vdos_unsupported_char_glyph): Remove. (unibyte_display_via_language_environment): Remove declaration. * minibuf.c (syms_of_minibuf): Update. (Vcompletion_regexp_list, Vhistory_add_new_input) (Vhistory_length, Vminibuffer_completing_file_name) (Vminibuffer_completion_confirm) (Vminibuffer_completion_predicate, Vminibuffer_completion_table) (Vminibuffer_exit_hook, Vminibuffer_help_form) (Vminibuffer_history_position, Vminibuffer_history_variable) (Vminibuffer_prompt_properties, Vminibuffer_setup_hook) (Vread_buffer_function, Vread_expression_map) (completion_ignore_case, enable_recursive_minibuffers) (history_delete_duplicates, minibuffer_allow_text_properties) (minibuffer_auto_raise, read_buffer_completion_ignore_case): Remove. * marker.c (syms_of_marker): Update. (byte_debug_flag): Remove. * macros.c (syms_of_macros): Update. (Vexecuting_kbd_macro, executing_kbd_macro_index): Remove. * lread.c (syms_of_lread): Update. (Vafter_load_alist, Vbyte_boolean_vars) (Vbytecomp_version_regexp, Vcurrent_load_list) (Veval_buffer_list, Vload_file_name, Vload_file_rep_suffixes) (Vload_history, Vload_path, Vload_read_function) (Vload_source_file_function, Vload_suffixes, Vobarray) (Vold_style_backquotes, Vpreloaded_file_list, Vread_circle) (Vread_symbol_positions_list, Vread_with_symbol_positions) (Vsource_directory, Vstandard_input, Vuser_init_file, Vvalues) (force_load_messages, load_convert_to_unibyte) (load_dangerous_libraries, load_force_doc_strings) (load_in_progress): Remove. * keymap.c (syms_of_keymap): Update. (Vdefine_key_rebound_commands, Vemulation_mode_map_alists) (Vminibuffer_local_completion_map) (Vminibuffer_local_filename_completion_map) (Vminibuffer_local_filename_must_match_map) (Vminibuffer_local_map, Vminibuffer_local_must_match_map) (Vminibuffer_local_ns_map, Vminor_mode_map_alist) (Vminor_mode_overriding_map_alist, Vwhere_is_preferred_modifier): Remove. * keyboard.c (syms_of_keyboard): Update. (Vauto_save_timeout, Vcommand_error_function) (Vcommand_hook_internal, Vdeactivate_mark) (Vdeferred_action_function, Vdeferred_action_list) (Vdisable_point_adjustment, Vdouble_click_time) (Vecho_keystrokes, Venable_disabled_menus_and_buttons) (Vfunction_key_map, Vglobal_disable_point_adjustment) (Vhelp_char, Vhelp_event_list, Vhelp_form) (Vinput_method_function, Vinput_method_previous_message) (Vkey_translation_map, Vlast_event_frame) (Vlucid_menu_bar_dirty_flag, Vmenu_bar_final_items) (Vminibuffer_message_timeout, Voverriding_local_map) (Voverriding_local_map_menu_flag, Vpost_command_hook) (Vpre_command_hook, Vprefix_help_command) (Vsaved_region_selection, Vselect_active_regions) (Vshow_help_function, Vspecial_event_map, Vsuggest_key_bindings) (Vthis_command, Vthis_command_keys_shift_translated) (Vthis_original_command, Vthrow_on_input, Vtimer_idle_list) (Vtimer_list, Vtool_bar_separator_image_expression, Vtop_level) (Vtty_erase_char, Vunread_command_events) (Vunread_input_method_events, Vunread_post_input_method_events) (auto_save_interval, cannot_suspend, do_mouse_tracking) (double_click_fuzz, extra_keyboard_modifiers) (inhibit_local_menu_bar_menus, last_command_event) (last_input_event, last_nonmenu_event, menu_prompt_more_char) (menu_prompting, meta_prefix_char, num_input_keys) (num_nonmacro_input_events, polling_period, unread_command_char): Remove. * insdel.c (syms_of_insdel): Update. (Vcombine_after_change_calls, check_markers_debug_flag): Remove. * indent.c (syms_of_indent): Update. (indent_tabs_mode): Remove. * image.c (syms_of_image): Update. (Vimage_cache_eviction_delay, Vimage_types) (Vimagemagick_render_type, Vmax_image_size, Vx_bitmap_file_path) (cross_disabled_images): Remove. * fringe.c (syms_of_fringe): Update. (Vfringe_bitmaps, Voverflow_newline_into_fringe): Remove. * frame.c (syms_of_frame): Update. (Vdefault_frame_alist, Vdefault_frame_scroll_bars) (Vdelete_frame_functions, Vframe_alpha_lower_limit) (Vmake_pointer_invisible, Vmenu_bar_mode, Vmouse_highlight) (Vmouse_position_function, Vterminal_frame, Vtool_bar_mode) (Vx_resource_class, Vx_resource_name, focus_follows_mouse): Remove. * fontset.c (syms_of_fontset): Update. (Valternate_fontname_alist, Vfont_encoding_charset_alist) (Vfontset_alias_alist, Vignore_relative_composition) (Votf_script_alist, Vuse_default_ascent) (Vvertical_centering_font_regexp): Remove. * font.c (syms_of_font): Update. (Vfont_encoding_alist, Vfont_log, Vfont_slant_table) (Vfont_weight_table, Vfont_width_table): Remove. * fns.c (syms_of_fns): Update. (Vfeatures, use_dialog_box, use_file_dialog): Remove. * filelock.c (syms_of_filelock): Update. (Vtemporary_file_directory): Remove. * fileio.c (syms_of_fileio): Update. (Vafter_insert_file_functions, Vauto_save_include_big_deletions) (Vauto_save_list_file_name, Vauto_save_visited_file_name) (Vdefault_file_name_coding_system, Vfile_name_coding_system) (Vfile_name_handler_alist, Vinhibit_file_name_handlers) (Vinhibit_file_name_operation, Vset_auto_coding_function) (Vwrite_region_annotate_functions) (Vwrite_region_annotations_so_far) (Vwrite_region_post_annotation_function) (delete_by_moving_to_trash, write_region_inhibit_fsync): Remove. (Vw32_get_true_file_attributes): Remove declaration. * eval.c (syms_of_eval): Update. (Vdebug_ignored_errors, Vdebug_on_error, Vdebug_on_signal) (Vdebugger, Vinhibit_quit, Vmacro_declaration_function) (Vquit_flag, Vsignal_hook_function, Vstack_trace_on_error) (debug_on_next_call, debug_on_quit, debugger_may_continue) (max_lisp_eval_depth, max_specpdl_size): Remove. * emacs.c (syms_of_emacs): Update. (Vafter_init_time, Vbefore_init_time, Vcommand_line_args) (Vdynamic_library_alist, Vemacs_copyright, Vemacs_version) (Vinstallation_directory, Vinvocation_directory) (Vinvocation_name, Vkill_emacs_hook, Vpath_separator) (Vprevious_system_messages_locale, Vprevious_system_time_locale) (Vsystem_configuration, Vsystem_configuration_options) (Vsystem_messages_locale, Vsystem_time_locale, Vsystem_type) (inhibit_x_resources, noninteractive1): Remove. * editfns.c (syms_of_editfns): Update. (Vbuffer_access_fontified_property) (Vbuffer_access_fontify_functions, Vinhibit_field_text_motion) (Voperating_system_release, Vsystem_name, Vuser_full_name) (Vuser_login_name, Vuser_real_login_name): Remove. * dosfns.c (syms_of_dosfns): Update. (Vdos_display_scancodes, Vdos_version, Vdos_windows_version) (dos_codepage, dos_country_code, dos_decimal_point) (dos_hyper_key, dos_keyboard_layout, dos_keypad_mode) (dos_super_key, dos_timezone_offset): Remove. * doc.c (syms_of_doc): Update. (Vbuild_files, Vdoc_file_name): Remove. * dispnew.c (syms_of_display): Update. (Vglyph_table, Vinitial_window_system) (Vredisplay_preemption_period, Vstandard_display_table) (Vwindow_system_version, baud_rate, cursor_in_echo_area) (inverse_video, redisplay_dont_pause, visible_bell): Remove. * dired.c (syms_of_dired): Update. (Vcompletion_ignored_extensions): Remove. (Vw32_get_true_file_attributes): Remove declaration. * dbusbind.c (syms_of_dbusbind): Update. (Vdbus_debug, Vdbus_registered_buses) (Vdbus_registered_objects_table): Remove. * data.c (syms_of_data): Update. (Vmost_negative_fixnum, Vmost_positive_fixnum): Remove. * composite.c (syms_of_composite): Update. (Vauto_composition_function, Vauto_composition_mode) (Vcompose_chars_after_function, Vcomposition_function_table): Remove. * coding.c (syms_of_coding): Update. (Vcharset_revision_table, Vcoding_category_list) (Vcoding_system_alist, Vcoding_system_for_read) (Vcoding_system_for_write, Vcoding_system_list) (Vdefault_process_coding_system, Venable_character_translation) (Vfile_coding_system_alist, Vlast_code_conversion_error) (Vlast_coding_system_used, Vlatin_extra_code_table) (Vlocale_coding_system, Vnetwork_coding_system_alist) (Vprocess_coding_system_alist) (Vselect_safe_coding_system_function) (Vstandard_translation_table_for_decode) (Vstandard_translation_table_for_encode) (Vtranslation_table_for_input, coding_system_require_warning) (eol_mnemonic_dos, eol_mnemonic_mac, eol_mnemonic_undecided) (eol_mnemonic_unix, inherit_process_coding_system) (inhibit_eol_conversion, inhibit_iso_escape_detection) (inhibit_null_byte_detection): Remove. * cmds.c (syms_of_cmds): Update. (Vpost_self_insert_hook): Remove. * charset.c (syms_of_charset): Update. (Vcharset_list, Vcharset_map_path, Vcurrent_iso639_language) (inhibit_load_charset_map): Remove. * character.c (syms_of_character): Update. (Vauto_fill_chars, Vchar_direction_table, Vchar_script_table) (Vchar_width_table, Vprintable_chars) (Vscript_representative_chars, Vtranslation_table_vector) (Vunicode_category_table): Remove. * ccl.c (syms_of_ccl): Update. (Vcode_conversion_map_vector, Vfont_ccl_encoder_alist) (Vtranslation_hash_table_vector): Remove. * category.c (syms_of_category): Update. (Vword_combining_categories, Vword_separating_categories): Remove. * callproc.c (syms_of_callproc): Update. (Vconfigure_info_directory, Vdata_directory, Vdoc_directory) (Vexec_directory, Vexec_path, Vexec_suffixes) (Vinitial_environment, Vprocess_environment) (Vshared_game_score_directory, Vshell_file_name): Remove. * callint.c (syms_of_callint): Update. (Vcommand_debug_status, Vcommand_history, Vcurrent_prefix_arg) (Vmark_even_if_inactive, Vmouse_leave_buffer_hook): Remove. * bytecode.c (syms_of_bytecode): Update. (Vbyte_code_meter, byte_metering_on): Remove. * buffer.c (syms_of_buffer): Update. (Vafter_change_functions, Vbefore_change_functions) (Vchange_major_mode_hook, Vfirst_change_hook) (Vinhibit_read_only, Vkill_buffer_query_functions) (Vtransient_mark_mode, inhibit_modification_hooks): Remove. * alloc.c (syms_of_alloc): Update. (Vgc_cons_percentage, Vgc_elapsed, Vmemory_full) (Vmemory_signal_data, Vpost_gc_hook, Vpurify_flag) (cons_cells_consed, floats_consed, garbage_collection_messages) (gc_cons_threshold, gcs_done, intervals_consed) (misc_objects_consed, pure_bytes_used, string_chars_consed) (strings_consed, symbols_consed, vector_cells_consed): Remove. * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL) (DEFVAR_INT): Assume global is in `globals'. * alloc.c (globals): Define.
author Tom Tromey <tromey@redhat.com>
date Tue, 18 Jan 2011 13:45:37 -0700
parents 16ae11ee4ab8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
112303
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
1 #! /bin/sh
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
2 # depcomp - compile a program generating dependencies as side-effects
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
3
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
4 scriptversion=2009-04-28.21; # UTC
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
5
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
7 # Software Foundation, Inc.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
8
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
9 # This program is free software; you can redistribute it and/or modify
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
10 # it under the terms of the GNU General Public License as published by
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
11 # the Free Software Foundation; either version 2, or (at your option)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
12 # any later version.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
13
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
14 # This program is distributed in the hope that it will be useful,
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
17 # GNU General Public License for more details.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
18
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
19 # You should have received a copy of the GNU General Public License
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
20 # along with this program. If not, see <http://www.gnu.org/licenses/>.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
21
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
22 # As a special exception to the GNU General Public License, if you
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
23 # distribute this file as part of a program that contains a
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
24 # configuration script generated by Autoconf, you may include it under
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
25 # the same distribution terms that you use for the rest of that program.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
26
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
27 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
28
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
29 case $1 in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
30 '')
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
31 echo "$0: No command. Try \`$0 --help' for more information." 1>&2
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
32 exit 1;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
33 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
34 -h | --h*)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
35 cat <<\EOF
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
36 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
37
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
38 Run PROGRAMS ARGS to compile a file, generating dependencies
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
39 as side-effects.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
40
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
41 Environment variables:
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
42 depmode Dependency tracking mode.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
43 source Source file read by `PROGRAMS ARGS'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
44 object Object file output by `PROGRAMS ARGS'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
45 DEPDIR directory where to store dependencies.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
46 depfile Dependency file to output.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
47 tmpdepfile Temporary file to use when outputing dependencies.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
48 libtool Whether libtool is used (yes/no).
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
49
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
50 Report bugs to <bug-automake@gnu.org>.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
51 EOF
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
52 exit $?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
53 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
54 -v | --v*)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
55 echo "depcomp $scriptversion"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
56 exit $?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
57 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
58 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
59
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
60 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
61 echo "depcomp: Variables source, object and depmode must be set" 1>&2
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
62 exit 1
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
63 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
64
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
65 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
66 depfile=${depfile-`echo "$object" |
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
67 sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
68 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
69
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
70 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
71
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
72 # Some modes work just like other modes, but use different flags. We
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
73 # parameterize here, but still list the modes in the big case below,
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
74 # to make depend.m4 easier to write. Note that we *cannot* use a case
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
75 # here, because this file can only contain one case statement.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
76 if test "$depmode" = hp; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
77 # HP compiler uses -M and no extra arg.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
78 gccflag=-M
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
79 depmode=gcc
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
80 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
81
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
82 if test "$depmode" = dashXmstdout; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
83 # This is just like dashmstdout with a different argument.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
84 dashmflag=-xM
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
85 depmode=dashmstdout
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
86 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
87
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
88 cygpath_u="cygpath -u -f -"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
89 if test "$depmode" = msvcmsys; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
90 # This is just like msvisualcpp but w/o cygpath translation.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
91 # Just convert the backslash-escaped backslashes to single forward
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
92 # slashes to satisfy depend.m4
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
93 cygpath_u="sed s,\\\\\\\\,/,g"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
94 depmode=msvisualcpp
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
95 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
96
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
97 case "$depmode" in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
98 gcc3)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
99 ## gcc 3 implements dependency tracking that does exactly what
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
100 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
101 ## it if -MD -MP comes after the -MF stuff. Hmm.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
102 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
103 ## the command line argument order; so add the flags where they
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
104 ## appear in depend2.am. Note that the slowdown incurred here
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
105 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
106 for arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
107 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
108 case $arg in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
109 -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
110 *) set fnord "$@" "$arg" ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
111 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
112 shift # fnord
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
113 shift # $arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
114 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
115 "$@"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
116 stat=$?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
117 if test $stat -eq 0; then :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
118 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
119 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
120 exit $stat
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
121 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
122 mv "$tmpdepfile" "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
123 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
124
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
125 gcc)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
126 ## There are various ways to get dependency output from gcc. Here's
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
127 ## why we pick this rather obscure method:
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
128 ## - Don't want to use -MD because we'd like the dependencies to end
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
129 ## up in a subdir. Having to rename by hand is ugly.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
130 ## (We might end up doing this anyway to support other compilers.)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
131 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
132 ## -MM, not -M (despite what the docs say).
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
133 ## - Using -M directly means running the compiler twice (even worse
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
134 ## than renaming).
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
135 if test -z "$gccflag"; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
136 gccflag=-MD,
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
137 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
138 "$@" -Wp,"$gccflag$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
139 stat=$?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
140 if test $stat -eq 0; then :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
141 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
142 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
143 exit $stat
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
144 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
145 rm -f "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
146 echo "$object : \\" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
147 alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
148 ## The second -e expression handles DOS-style file names with drive letters.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
149 sed -e 's/^[^:]*: / /' \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
150 -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
151 ## This next piece of magic avoids the `deleted header file' problem.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
152 ## The problem is that when a header file which appears in a .P file
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
153 ## is deleted, the dependency causes make to die (because there is
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
154 ## typically no way to rebuild the header). We avoid this by adding
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
155 ## dummy dependencies for each header file. Too bad gcc doesn't do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
156 ## this for us directly.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
157 tr ' ' '
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
158 ' < "$tmpdepfile" |
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
159 ## Some versions of gcc put a space before the `:'. On the theory
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
160 ## that the space means something, we add a space to the output as
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
161 ## well.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
162 ## Some versions of the HPUX 10.20 sed can't process this invocation
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
163 ## correctly. Breaking it into two sed invocations is a workaround.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
164 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
165 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
166 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
167
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
168 hp)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
169 # This case exists only to let depend.m4 do its work. It works by
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
170 # looking at the text of this script. This case will never be run,
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
171 # since it is checked for above.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
172 exit 1
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
173 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
174
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
175 sgi)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
176 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
177 "$@" "-Wp,-MDupdate,$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
178 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
179 "$@" -MDupdate "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
180 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
181 stat=$?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
182 if test $stat -eq 0; then :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
183 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
184 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
185 exit $stat
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
186 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
187 rm -f "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
188
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
189 if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
190 echo "$object : \\" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
191
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
192 # Clip off the initial element (the dependent). Don't try to be
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
193 # clever and replace this with sed code, as IRIX sed won't handle
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
194 # lines with more than a fixed number of characters (4096 in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
195 # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
196 # the IRIX cc adds comments like `#:fec' to the end of the
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
197 # dependency line.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
198 tr ' ' '
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
199 ' < "$tmpdepfile" \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
200 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
201 tr '
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
202 ' ' ' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
203 echo >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
204
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
205 # The second pass generates a dummy entry for each header file.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
206 tr ' ' '
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
207 ' < "$tmpdepfile" \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
208 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
209 >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
210 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
211 # The sourcefile does not contain any dependencies, so just
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
212 # store a dummy comment line, to avoid errors with the Makefile
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
213 # "include basename.Plo" scheme.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
214 echo "#dummy" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
215 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
216 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
217 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
218
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
219 aix)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
220 # The C for AIX Compiler uses -M and outputs the dependencies
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
221 # in a .u file. In older versions, this file always lives in the
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
222 # current directory. Also, the AIX compiler puts `$object:' at the
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
223 # start of each line; $object doesn't have directory information.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
224 # Version 6 uses the directory in both cases.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
225 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
226 test "x$dir" = "x$object" && dir=
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
227 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
228 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
229 tmpdepfile1=$dir$base.u
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
230 tmpdepfile2=$base.u
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
231 tmpdepfile3=$dir.libs/$base.u
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
232 "$@" -Wc,-M
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
233 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
234 tmpdepfile1=$dir$base.u
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
235 tmpdepfile2=$dir$base.u
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
236 tmpdepfile3=$dir$base.u
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
237 "$@" -M
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
238 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
239 stat=$?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
240
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
241 if test $stat -eq 0; then :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
242 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
243 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
244 exit $stat
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
245 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
246
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
247 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
248 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
249 test -f "$tmpdepfile" && break
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
250 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
251 if test -f "$tmpdepfile"; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
252 # Each line is of the form `foo.o: dependent.h'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
253 # Do two passes, one to just change these to
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
254 # `$object: dependent.h' and one to simply `dependent.h:'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
255 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
256 # That's a tab and a space in the [].
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
257 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
258 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
259 # The sourcefile does not contain any dependencies, so just
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
260 # store a dummy comment line, to avoid errors with the Makefile
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
261 # "include basename.Plo" scheme.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
262 echo "#dummy" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
263 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
264 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
265 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
266
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
267 icc)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
268 # Intel's C compiler understands `-MD -MF file'. However on
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
269 # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
270 # ICC 7.0 will fill foo.d with something like
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
271 # foo.o: sub/foo.c
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
272 # foo.o: sub/foo.h
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
273 # which is wrong. We want:
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
274 # sub/foo.o: sub/foo.c
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
275 # sub/foo.o: sub/foo.h
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
276 # sub/foo.c:
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
277 # sub/foo.h:
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
278 # ICC 7.1 will output
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
279 # foo.o: sub/foo.c sub/foo.h
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
280 # and will wrap long lines using \ :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
281 # foo.o: sub/foo.c ... \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
282 # sub/foo.h ... \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
283 # ...
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
284
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
285 "$@" -MD -MF "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
286 stat=$?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
287 if test $stat -eq 0; then :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
288 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
289 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
290 exit $stat
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
291 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
292 rm -f "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
293 # Each line is of the form `foo.o: dependent.h',
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
294 # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
295 # Do two passes, one to just change these to
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
296 # `$object: dependent.h' and one to simply `dependent.h:'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
297 sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
298 # Some versions of the HPUX 10.20 sed can't process this invocation
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
299 # correctly. Breaking it into two sed invocations is a workaround.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
300 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
301 sed -e 's/$/ :/' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
302 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
303 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
304
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
305 hp2)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
306 # The "hp" stanza above does not work with aCC (C++) and HP's ia64
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
307 # compilers, which have integrated preprocessors. The correct option
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
308 # to use with these is +Maked; it writes dependencies to a file named
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
309 # 'foo.d', which lands next to the object file, wherever that
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
310 # happens to be.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
311 # Much of this is similar to the tru64 case; see comments there.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
312 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
313 test "x$dir" = "x$object" && dir=
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
314 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
315 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
316 tmpdepfile1=$dir$base.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
317 tmpdepfile2=$dir.libs/$base.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
318 "$@" -Wc,+Maked
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
319 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
320 tmpdepfile1=$dir$base.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
321 tmpdepfile2=$dir$base.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
322 "$@" +Maked
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
323 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
324 stat=$?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
325 if test $stat -eq 0; then :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
326 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
327 rm -f "$tmpdepfile1" "$tmpdepfile2"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
328 exit $stat
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
329 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
330
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
331 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
332 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
333 test -f "$tmpdepfile" && break
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
334 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
335 if test -f "$tmpdepfile"; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
336 sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
337 # Add `dependent.h:' lines.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
338 sed -ne '2,${
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
339 s/^ *//
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
340 s/ \\*$//
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
341 s/$/:/
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
342 p
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
343 }' "$tmpdepfile" >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
344 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
345 echo "#dummy" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
346 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
347 rm -f "$tmpdepfile" "$tmpdepfile2"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
348 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
349
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
350 tru64)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
351 # The Tru64 compiler uses -MD to generate dependencies as a side
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
352 # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
353 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
354 # dependencies in `foo.d' instead, so we check for that too.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
355 # Subdirectories are respected.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
356 dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
357 test "x$dir" = "x$object" && dir=
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
358 base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
359
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
360 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
361 # With Tru64 cc, shared objects can also be used to make a
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
362 # static library. This mechanism is used in libtool 1.4 series to
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
363 # handle both shared and static libraries in a single compilation.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
364 # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
365 #
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
366 # With libtool 1.5 this exception was removed, and libtool now
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
367 # generates 2 separate objects for the 2 libraries. These two
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
368 # compilations output dependencies in $dir.libs/$base.o.d and
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
369 # in $dir$base.o.d. We have to check for both files, because
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
370 # one of the two compilations can be disabled. We should prefer
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
371 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
372 # automatically cleaned when .libs/ is deleted, while ignoring
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
373 # the former would cause a distcleancheck panic.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
374 tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
375 tmpdepfile2=$dir$base.o.d # libtool 1.5
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
376 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
377 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
378 "$@" -Wc,-MD
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
379 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
380 tmpdepfile1=$dir$base.o.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
381 tmpdepfile2=$dir$base.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
382 tmpdepfile3=$dir$base.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
383 tmpdepfile4=$dir$base.d
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
384 "$@" -MD
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
385 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
386
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
387 stat=$?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
388 if test $stat -eq 0; then :
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
389 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
390 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
391 exit $stat
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
392 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
393
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
394 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
395 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
396 test -f "$tmpdepfile" && break
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
397 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
398 if test -f "$tmpdepfile"; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
399 sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
400 # That's a tab and a space in the [].
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
401 sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
402 else
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
403 echo "#dummy" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
404 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
405 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
406 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
407
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
408 #nosideeffect)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
409 # This comment above is used by automake to tell side-effect
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
410 # dependency tracking mechanisms from slower ones.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
411
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
412 dashmstdout)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
413 # Important note: in order to support this mode, a compiler *must*
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
414 # always write the preprocessed file to stdout, regardless of -o.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
415 "$@" || exit $?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
416
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
417 # Remove the call to Libtool.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
418 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
419 while test "X$1" != 'X--mode=compile'; do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
420 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
421 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
422 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
423 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
424
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
425 # Remove `-o $object'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
426 IFS=" "
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
427 for arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
428 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
429 case $arg in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
430 -o)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
431 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
432 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
433 $object)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
434 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
435 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
436 *)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
437 set fnord "$@" "$arg"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
438 shift # fnord
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
439 shift # $arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
440 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
441 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
442 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
443
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
444 test -z "$dashmflag" && dashmflag=-M
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
445 # Require at least two characters before searching for `:'
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
446 # in the target name. This is to cope with DOS-style filenames:
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
447 # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
448 "$@" $dashmflag |
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
449 sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
450 rm -f "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
451 cat < "$tmpdepfile" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
452 tr ' ' '
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
453 ' < "$tmpdepfile" | \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
454 ## Some versions of the HPUX 10.20 sed can't process this invocation
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
455 ## correctly. Breaking it into two sed invocations is a workaround.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
456 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
457 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
458 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
459
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
460 dashXmstdout)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
461 # This case only exists to satisfy depend.m4. It is never actually
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
462 # run, as this mode is specially recognized in the preamble.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
463 exit 1
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
464 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
465
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
466 makedepend)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
467 "$@" || exit $?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
468 # Remove any Libtool call
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
469 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
470 while test "X$1" != 'X--mode=compile'; do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
471 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
472 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
473 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
474 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
475 # X makedepend
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
476 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
477 cleared=no eat=no
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
478 for arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
479 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
480 case $cleared in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
481 no)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
482 set ""; shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
483 cleared=yes ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
484 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
485 if test $eat = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
486 eat=no
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
487 continue
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
488 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
489 case "$arg" in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
490 -D*|-I*)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
491 set fnord "$@" "$arg"; shift ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
492 # Strip any option that makedepend may not understand. Remove
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
493 # the object too, otherwise makedepend will parse it as a source file.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
494 -arch)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
495 eat=yes ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
496 -*|$object)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
497 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
498 *)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
499 set fnord "$@" "$arg"; shift ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
500 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
501 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
502 obj_suffix=`echo "$object" | sed 's/^.*\././'`
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
503 touch "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
504 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
505 rm -f "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
506 cat < "$tmpdepfile" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
507 sed '1,2d' "$tmpdepfile" | tr ' ' '
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
508 ' | \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
509 ## Some versions of the HPUX 10.20 sed can't process this invocation
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
510 ## correctly. Breaking it into two sed invocations is a workaround.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
511 sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
512 rm -f "$tmpdepfile" "$tmpdepfile".bak
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
513 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
514
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
515 cpp)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
516 # Important note: in order to support this mode, a compiler *must*
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
517 # always write the preprocessed file to stdout.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
518 "$@" || exit $?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
519
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
520 # Remove the call to Libtool.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
521 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
522 while test "X$1" != 'X--mode=compile'; do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
523 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
524 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
525 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
526 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
527
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
528 # Remove `-o $object'.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
529 IFS=" "
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
530 for arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
531 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
532 case $arg in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
533 -o)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
534 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
535 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
536 $object)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
537 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
538 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
539 *)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
540 set fnord "$@" "$arg"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
541 shift # fnord
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
542 shift # $arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
543 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
544 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
545 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
546
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
547 "$@" -E |
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
548 sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
549 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
550 sed '$ s: \\$::' > "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
551 rm -f "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
552 echo "$object : \\" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
553 cat < "$tmpdepfile" >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
554 sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
555 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
556 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
557
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
558 msvisualcpp)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
559 # Important note: in order to support this mode, a compiler *must*
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
560 # always write the preprocessed file to stdout.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
561 "$@" || exit $?
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
562
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
563 # Remove the call to Libtool.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
564 if test "$libtool" = yes; then
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
565 while test "X$1" != 'X--mode=compile'; do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
566 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
567 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
568 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
569 fi
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
570
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
571 IFS=" "
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
572 for arg
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
573 do
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
574 case "$arg" in
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
575 -o)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
576 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
577 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
578 $object)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
579 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
580 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
581 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
582 set fnord "$@"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
583 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
584 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
585 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
586 *)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
587 set fnord "$@" "$arg"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
588 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
589 shift
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
590 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
591 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
592 done
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
593 "$@" -E 2>/dev/null |
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
594 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
595 rm -f "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
596 echo "$object : \\" > "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
597 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
598 echo " " >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
599 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
600 rm -f "$tmpdepfile"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
601 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
602
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
603 msvcmsys)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
604 # This case exists only to let depend.m4 do its work. It works by
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
605 # looking at the text of this script. This case will never be run,
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
606 # since it is checked for above.
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
607 exit 1
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
608 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
609
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
610 none)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
611 exec "$@"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
612 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
613
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
614 *)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
615 echo "Unknown depmode $depmode" 1>&2
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
616 exit 1
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
617 ;;
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
618 esac
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
619
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
620 exit 0
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
621
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
622 # Local Variables:
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
623 # mode: shell-script
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
624 # sh-indentation: 2
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
625 # eval: (add-hook 'write-file-hooks 'time-stamp)
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
626 # time-stamp-start: "scriptversion="
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
627 # time-stamp-format: "%:y-%02m-%02d.%02H"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
628 # time-stamp-time-zone: "UTC"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
629 # time-stamp-end: "; # UTC"
16ae11ee4ab8 Regenerate.
Paul Eggert <eggert@cs.ucla.edu>
parents:
diff changeset
630 # End: