diff options
15 files changed, 454 insertions, 230 deletions
diff --git a/bundles/org.eclipse.equinox.executable/.cproject b/bundles/org.eclipse.equinox.executable/.cproject index 5095f92dc..214395ba0 100644 --- a/bundles/org.eclipse.equinox.executable/.cproject +++ b/bundles/org.eclipse.equinox.executable/.cproject @@ -1,137 +1,137 @@ <?xml version="1.0" encoding="UTF-8"?><?fileVersion 4.0.0?><cproject> -<storageModule moduleId="org.eclipse.cdt.core.settings"> -<cconfiguration id="converted.config.1797282818"> -<storageModule moduleId="scannerConfiguration"> -<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="true" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="true"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> -<buildOutputProvider> -<openAction enabled="false" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="makefileGenerator"> -<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> -<parser enabled="false"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="false" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="false"/> -</scannerInfoProvider> -</profile> -<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> -<buildOutputProvider> -<openAction enabled="false" filePath=""/> -<parser enabled="true"/> -</buildOutputProvider> -<scannerInfoProvider id="specsFile"> -<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> -<parser enabled="false"/> -</scannerInfoProvider> -</profile> -</storageModule> -<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.1797282818" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig"> -<externalSettings/> -<extensions> -<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/> -<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> -<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser"/> -</extensions> -</storageModule> -<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> -<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> -<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> -<storageModule moduleId="org.eclipse.cdt.core.pathentry"> -<pathentry kind="mac" name="JNIEXPORT" path="" value=""/> -<pathentry include="/usr/X11R6/include" kind="inc" path="" system="true"/> -<pathentry include="/opt/gnome/include/gtk-2.0" kind="inc" path="" system="true"/> -<pathentry include="/opt/gnome/include/glib-2.0" kind="inc" path="" system="true"/> -<pathentry kind="src" path=""/> -<pathentry kind="out" path=""/> -<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/> -</storageModule> -<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"> -<buildTargets> -<target name="linux-all" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_linux.mak</buildArguments> -<buildTarget>all</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -<target name="clean" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_linux.mak</buildArguments> -<buildTarget>clean</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -<target name="linux-all" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_linux.mak JAVA_HOME=/usr/java/1.5 DEFAULT_WS=motif MOTIF_HOME=/eclipse/motif21</buildArguments> -<buildTarget>all</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -<target name="clean" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_linux.mak</buildArguments> -<buildTarget>clean</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -<target name="all-mingw" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_mingw.mak JAVA_HOME=C:/Dev/Java/IBM-1.6.0-20090519-SR5</buildArguments> -<buildTarget>all</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -<target name="clean" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_mingw.mak</buildArguments> -<buildTarget>clean</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -<target name="all" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_macosx.mak</buildArguments> -<buildTarget>all</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -<target name="clean" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> -<buildCommand>make</buildCommand> -<buildArguments>-f make_macosx.mak</buildArguments> -<buildTarget>clean</buildTarget> -<stopOnError>false</stopOnError> -<useDefaultCommand>false</useDefaultCommand> -<runAllBuilders>true</runAllBuilders> -</target> -</buildTargets> -</storageModule> -</cconfiguration> -</storageModule> + <storageModule moduleId="org.eclipse.cdt.core.settings"> + <cconfiguration id="converted.config.1797282818"> + <storageModule moduleId="scannerConfiguration"> + <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/> + <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="true" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> + <parser enabled="true"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile"> + <buildOutputProvider> + <openAction enabled="false" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="makefileGenerator"> + <runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/> + <parser enabled="false"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="false" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> + <parser enabled="false"/> + </scannerInfoProvider> + </profile> + <profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile"> + <buildOutputProvider> + <openAction enabled="false" filePath=""/> + <parser enabled="true"/> + </buildOutputProvider> + <scannerInfoProvider id="specsFile"> + <runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/> + <parser enabled="false"/> + </scannerInfoProvider> + </profile> + </storageModule> + <storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.1797282818" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig"> + <externalSettings/> + <extensions> + <extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/> + <extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser"/> + </extensions> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.core.language.mapping"/> + <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/> + <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/> + <storageModule moduleId="org.eclipse.cdt.core.pathentry"> + <pathentry kind="mac" name="JNIEXPORT" path="" value=""/> + <pathentry include="/usr/X11R6/include" kind="inc" path="" system="true"/> + <pathentry include="/opt/gnome/include/gtk-2.0" kind="inc" path="" system="true"/> + <pathentry include="/opt/gnome/include/glib-2.0" kind="inc" path="" system="true"/> + <pathentry kind="src" path=""/> + <pathentry kind="out" path=""/> + <pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/> + </storageModule> + <storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"> + <buildTargets> + <target name="linux-all" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_linux.mak DEFAULT_OS_ARCH=x86_64 JAVA_HOME=/usr/java/ibm-150</buildArguments> + <buildTarget>all</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="clean" path="library/gtk" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_linux.mak</buildArguments> + <buildTarget>clean</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="all" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_macosx.mak</buildArguments> + <buildTarget>all</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="clean" path="library/carbon" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_macosx.mak</buildArguments> + <buildTarget>clean</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="all-mingw" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_mingw.mak JAVA_HOME=C:/Dev/Java/IBM-1.6.0-20090519-SR5</buildArguments> + <buildTarget>all</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="clean" path="library/win32" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_mingw.mak</buildArguments> + <buildTarget>clean</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="linux-all" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_linux.mak JAVA_HOME=/usr/java/1.5 DEFAULT_WS=motif MOTIF_HOME=/eclipse/motif21</buildArguments> + <buildTarget>all</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + <target name="clean" path="library/motif" targetID="org.eclipse.cdt.make.MakeTargetBuilder"> + <buildCommand>make</buildCommand> + <buildArguments>-f make_linux.mak</buildArguments> + <buildTarget>clean</buildTarget> + <stopOnError>false</stopOnError> + <useDefaultCommand>false</useDefaultCommand> + <runAllBuilders>true</runAllBuilders> + </target> + </buildTargets> + </storageModule> + </cconfiguration> + </storageModule> </cproject>
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.executable/.project b/bundles/org.eclipse.equinox.executable/.project index adabd60b5..e9419d7aa 100644 --- a/bundles/org.eclipse.equinox.executable/.project +++ b/bundles/org.eclipse.equinox.executable/.project @@ -59,7 +59,7 @@ </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.environment</key> - <value>MOTIF_HOME=/usr/X11|X11_HOME=/usr/X11R6|DEFAULT_OS_ARCH=${system_property:osgi.arch}|DEFAULT_WS=${system_property:osgi.ws}|DEFAULT_OS=${system_property:osgi.os}|</value> + <value>DEFAULT_WS=${system_property:osgi.ws}|DEFAULT_OS=${system_property:osgi.os}|DEFAULT_OS_ARCH=${system_property:osgi.arch}|X11_HOME=/usr/X11R6|PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/lib64/pkgconfig:/opt/gnome/share/pkgconfig|MOTIF_HOME=/usr/X11|</value> </dictionary> <dictionary> <key>org.eclipse.cdt.make.core.stopOnError</key> diff --git a/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs b/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs index 5fef30443..06ad8fe1f 100644 --- a/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs +++ b/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.core.prefs @@ -1,4 +1,154 @@ -#Sat Mar 17 13:50:53 EDT 2007 -eclipse.preferences.version=1 +#Thu Feb 04 13:33:58 EST 2010 +org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_arguments=insert +org.eclipse.cdt.core.formatter.continuation_indentation=2 +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_base_clause=insert +org.eclipse.cdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.cdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.cdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.cdt.core.formatter.alignment_for_declarator_list=16 +org.eclipse.cdt.core.formatter.tabulation.size=4 +org.eclipse.cdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.cdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.cdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.cdt.core.formatter.indent_access_specifier_compare_to_type_header=false +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.cdt.core.formatter.tabulation.char=tab +org.eclipse.cdt.core.formatter.lineSplit=800 +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_expression_list=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_expression_list=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.cdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_arguments=insert +org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.cdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.cdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.cdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_exception_specification=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_exception_specification=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=16 +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_default=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_bracket=do not insert +org.eclipse.cdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_base_types=insert +org.eclipse.cdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.cdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_declarator_list=insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_declarator_list=do not insert +org.eclipse.cdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.cdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.cdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.cdt.core.formatter.insert_space_after_opening_bracket=do not insert +org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.indent_empty_lines=false +org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.cdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.cdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.cdt.core.formatter.alignment_for_enumerator_list=16 +org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_namespace_header=true +org.eclipse.cdt.core.formatter.insert_space_after_closing_angle_bracket_in_template_parameters=insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_template_parameters=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_exception_specification=insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_colon_in_base_clause=insert +org.eclipse.cdt.core.formatter.insert_space_after_closing_brace_in_block=insert indexer/indexerId=org.eclipse.cdt.core.fastIndexer +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.cdt.core.formatter.insert_space_before_closing_bracket=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.cdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_base_types=do not insert +org.eclipse.cdt.core.formatter.indentation.size=4 +org.eclipse.cdt.core.formatter.insert_space_before_opening_angle_bracket_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.cdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.cdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.cdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.cdt.core.formatter.insert_space_before_colon_in_case=insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header=false +org.eclipse.cdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +eclipse.preferences.version=1 +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.cdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.cdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.cdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.cdt.core.formatter.compact_else_if=true +org.eclipse.cdt.core.formatter.indent_body_declarations_compare_to_access_specifier=true +org.eclipse.cdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.cdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.cdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.cdt.core.formatter.brace_position_for_namespace_declaration=end_of_line +org.eclipse.cdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_comma_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_parens_in_exception_specification=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.cdt.core.formatter.alignment_for_expression_list=0 indexerId=org.eclipse.cdt.core.fastIndexer +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.cdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.cdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.cdt.core.formatter.insert_space_after_opening_angle_bracket_in_template_parameters=do not insert +org.eclipse.cdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.cdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.cdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.cdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.cdt.core.formatter.insert_space_before_closing_angle_bracket_in_template_arguments=do not insert +org.eclipse.cdt.core.formatter.insert_space_before_opening_brace_in_namespace_declaration=insert +org.eclipse.cdt.core.formatter.insert_space_between_empty_brackets=do not insert diff --git a/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.ui.prefs b/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.ui.prefs new file mode 100644 index 000000000..05a38d497 --- /dev/null +++ b/bundles/org.eclipse.equinox.executable/.settings/org.eclipse.cdt.ui.prefs @@ -0,0 +1,4 @@ +#Thu Feb 04 13:33:58 EST 2010 +formatter_settings_version=1 +eclipse.preferences.version=1 +formatter_profile=_Equinox diff --git a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c index 5253728f0..47739962b 100644 --- a/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c +++ b/bundles/org.eclipse.equinox.executable/library/carbon/eclipseCarbon.c @@ -169,7 +169,7 @@ int main() { void installAppleEventHandler(); -int reuseWorkbench(_TCHAR* filePath, int timeout) { +int reuseWorkbench(_TCHAR** filePath, int timeout) { installAppleEventHandler(); return 0; } diff --git a/bundles/org.eclipse.equinox.executable/library/eclipse.c b/bundles/org.eclipse.equinox.executable/library/eclipse.c index 61e99be5c..a216e6e01 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipse.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipse.c @@ -228,6 +228,7 @@ home directory."); #define JAR _T_ECLIPSE("-jar") #define OPENFILE _T_ECLIPSE("--launcher.openFile") +#define DEFAULTACTION _T_ECLIPSE("--launcher.defaultAction") #define TIMEOUT _T_ECLIPSE("--launcher.timeout") #define LIBRARY _T_ECLIPSE("--launcher.library") #define SUPRESSERRORS _T_ECLIPSE("--launcher.suppressErrors") @@ -236,6 +237,7 @@ home directory."); #define PERM_GEN _T_ECLIPSE("--launcher.XXMaxPermSize") #define XXPERMGEN _T_ECLIPSE("-XX:MaxPermSize=") +#define ACTION_OPENFILE _T_ECLIPSE("openFile") /* constants for ee options file */ #define EE_EXECUTABLE _T_ECLIPSE("-Dee.executable=") @@ -259,8 +261,9 @@ static _TCHAR * startupArg = NULL; /* path of the startup.jar the user want static _TCHAR* vmName = NULL; /* Java VM that the user wants to run */ static _TCHAR* name = NULL; /* program name */ static _TCHAR* permGen = NULL; /* perm gen size for sun */ -static _TCHAR* filePath = NULL; /* file to open */ +static _TCHAR** filePath = NULL; /* list of files to open */ static _TCHAR* timeoutString = NULL; /* timeout value for opening a file */ +static _TCHAR* defaultAction = NULL; /* default action for non '-' command line arguments */ /* variables for ee options */ static _TCHAR* eeExecutable = NULL; @@ -277,17 +280,15 @@ typedef struct void* value; /* the variable where the option value is saved */ /* value is a _TCHAR** or int* depending on if VALUE_IS_FLAG is set */ int flag; /* flags */ - int remove; /* the number of argments to remove from the list */ + int remove; /* the number of argments to remove from the list, -1 can be used with VALUE_IS_LIST */ } Option; /* flags for the Option struct */ -#define VALUE_IS_FLAG 1 /* value is an int*, if not set, value is a _TCHAR** */ +#define VALUE_IS_FLAG 1 /* value is an int*, if not set, value is a _TCHAR** or _TCHAR*** (VALUE_IS_LIST) */ #define OPTIONAL_VALUE 2 /* value is optional, if next arg does not start with '-', */ /* don't assign it and only remove (remove - 1) arguments */ - -/* flags being used by EE options */ -#define EE_ADJUST_PATH 4 /* value is a path, do processing on relative paths to try and make them absolute */ -#define EE_PATH_LIST 8 /* value is a list of paths */ +#define ADJUST_PATH 4 /* value is a path, do processing on relative paths to try and make them absolute */ +#define VALUE_IS_LIST 8 /* value is a pointer to a tokenized _TCHAR* string for EE files, or a _TCHAR** list for the command line */ static Option options[] = { { CONSOLE, &needConsole, VALUE_IS_FLAG, 0 }, @@ -305,16 +306,17 @@ static Option options[] = { { VM, &vmName, 0, 2 }, { NAME, &name, 0, 2 }, { PERM_GEN, &permGen, 0, 2 }, - { OPENFILE, &filePath, 0, 2 }, + { OPENFILE, &filePath, ADJUST_PATH | VALUE_IS_LIST, -1 }, { TIMEOUT, &timeoutString, 0, 2 }, + { DEFAULTACTION,&defaultAction, 0, 2 }, { WS, &wsArg, 0, 2 } }; static int optionsSize = (sizeof(options) / sizeof(options[0])); static Option eeOptions[] = { - { EE_EXECUTABLE, &eeExecutable, EE_ADJUST_PATH, 0 }, - { EE_CONSOLE, &eeConsole, EE_ADJUST_PATH, 0 }, - { EE_VM_LIBRARY, &eeLibrary, EE_ADJUST_PATH, 0 }, - { EE_LIBRARY_PATH, &eeLibPath, EE_ADJUST_PATH | EE_PATH_LIST, 0 } + { EE_EXECUTABLE, &eeExecutable, ADJUST_PATH, 0 }, + { EE_CONSOLE, &eeConsole, ADJUST_PATH, 0 }, + { EE_VM_LIBRARY, &eeLibrary, ADJUST_PATH, 0 }, + { EE_LIBRARY_PATH, &eeLibPath, ADJUST_PATH | VALUE_IS_LIST, 0 } }; static int eeOptionsSize = (sizeof(eeOptions) / sizeof(eeOptions[0])); @@ -328,6 +330,7 @@ static int nEEargs = 0; /* Local methods */ static void parseArgs( int* argc, _TCHAR* argv[] ); +static void processDefaultAction(int argc, _TCHAR* argv[]); static void getVMCommand( int launchMode, int argc, _TCHAR* argv[], _TCHAR **vmArgv[], _TCHAR **progArgv[] ); static int determineVM(_TCHAR** msg); static int vmEEProps(_TCHAR* eeFile, _TCHAR** msg); @@ -377,10 +380,14 @@ JNIEXPORT int run(int argc, _TCHAR* argv[], _TCHAR* vmArgs[]) /* Initialize official program name */ officialName = name != NULL ? _tcsdup( name ) : getDefaultOfficialName(); + if (defaultAction != NULL) { + processDefaultAction(initialArgc, initialArgv); + } + /* try to open the specified file in an already running eclipse */ /* on Mac we are only registering an event handler here, always do this */ #ifndef MACOSX - if (filePath != NULL) + if (filePath != NULL && filePath[0] != NULL) #endif { int timeout = 60; @@ -658,67 +665,109 @@ static _TCHAR** buildLaunchCommand( _TCHAR* program, _TCHAR** vmArgs, _TCHAR** p memcpy(result + 1 + nVM, progArgs, nProg * sizeof(_TCHAR*)); return result; } + +static void processDefaultAction(int argc, _TCHAR* argv[]) { + /* scan the arg list, no default if any start with '-' */ + int i = 0; + for (i = 0; i < argc; i++) { + if (argv[i][0] == _T_ECLIPSE('-')) + return; + } + /* argv[0] is the program (eclipse), we process the default actions by inserting + * the appropriate -argument at argv[1] + */ + if (argc <= 1) + return; + + if (_tcsicmp(defaultAction, ACTION_OPENFILE) == 0) { + int newArgc = argc + 1; + _TCHAR ** newArgv = malloc(newArgc * sizeof(_TCHAR*)); + newArgv[0] = argv[0]; + newArgv[1] = OPENFILE; + memcpy(&newArgv[2], &argv[1], argc * sizeof(_TCHAR*)); + parseArgs(&newArgc, newArgv); + free(newArgv); + } +} + /* * Parse arguments of the command. */ -static void parseArgs( int* pArgc, _TCHAR* argv[] ) -{ +static void parseArgs(int* pArgc, _TCHAR* argv[]) { Option* option; - int remArgs; - int index; - int i; - - /* Ensure the list of user argument is NULL terminated. */ - /*argv[ *pArgc ] = NULL;*/ + int remArgs; + int index; + int i; + _TCHAR * c; /* For each user defined argument (excluding the program) */ - for (index = 1; index < *pArgc; index++){ - remArgs = 0; + for (index = 1; index < *pArgc; index++) { + remArgs = 0; + + /* Find the corresponding argument is a option supported by the launcher */ + option = NULL; + for (i = 0; option == NULL && i < optionsSize; i++) { + if (_tcsicmp(argv[index], options[i].name) == 0) { + option = &options[i]; + break; + } + } - /* Find the corresponding argument is a option supported by the launcher */ - option = NULL; - for (i = 0; option == NULL && i < optionsSize; i++) - { - if (_tcsicmp( argv[ index ], options[ i ].name ) == 0) { - option = &options[ i ]; - break; - } - } + /* If the option is recognized by the launcher */ + if (option != NULL) { + int optional = 0; + c = option->name; + /* If the option requires a value and there is one, extract the value. */ + if (option->value != NULL) { + if (option->flag & VALUE_IS_FLAG) + *((int *) option->value) = 1; + else { + int count = 1; + if (option->flag & VALUE_IS_LIST) { + /* count how many args, this is the -argument itself + following the non'-' args */ + while(count + index < *pArgc && argv[count + index][0] != _T_ECLIPSE('-')) + count++; + + /* allocate memory for a _TCHAR* list and initialize it with NULLs*/ + *((void**) option->value) = malloc(count * sizeof(_TCHAR *)); + memset(*((void **) option->value), 0, count * sizeof(_TCHAR *)); + + if (option->remove != 0) + option->remove = count; + } + + for (i = 0; i < count; i++) { + if ((index + i + 1) < *pArgc) { + _TCHAR * next = argv[index + i + 1]; + if (option->flag & ADJUST_PATH) + next = checkPath(next, getProgramDir(), 0); + if (next[0] != _T_ECLIPSE('-')) { + if (option->flag & VALUE_IS_LIST) + (*((_TCHAR***) option->value))[i] = next; + else + *((_TCHAR**) option->value) = next; + } else if (option->flag & OPTIONAL_VALUE){ + /* value was optional, and the next arg starts with '-' */ + optional = 1; + } + } + } + } + } - /* If the option is recognized by the launcher */ - if (option != NULL) - { - int optional = 0; - /* If the option requires a value and there is one, extract the value. */ - if (option->value != NULL) { - if (option->flag & VALUE_IS_FLAG) - *((int *)option->value) = 1; - else if((index + 1) < *pArgc) { - _TCHAR * next = argv[index + 1]; - if(!((option->flag & OPTIONAL_VALUE) && next[0] == _T_ECLIPSE('-'))) { - *((_TCHAR**)option->value) = next; - } else { - /* value was optional, and the next arg starts with '-' */ - optional = 1; - } - } - } - - /* If the option requires a flag to be set, set it. */ - remArgs = option->remove - optional; - } + /* If the option requires a flag to be set, set it. */ + remArgs = option->remove - optional; + } /* Remove any matched arguments from the list. */ - if (remArgs > 0) - { - for (i = (index + remArgs); i <= *pArgc; i++) - { - argv[ i - remArgs ] = argv[ i ]; - } - index--; - *pArgc -= remArgs; - } - } + if (remArgs > 0) { + for (i = (index + remArgs); i <= *pArgc; i++) { + argv[i - remArgs] = argv[i]; + } + index--; + *pArgc -= remArgs; + } + } } /* @@ -1519,11 +1568,11 @@ static int processEEProps(_TCHAR* eeFile) else { c1 = malloc( (_tcslen(argv[index]) - _tcslen(option->name) + 1) *sizeof(_TCHAR)); _tcscpy(c1, argv[index] + _tcslen(option->name)); - if (option->flag & EE_ADJUST_PATH && option->flag & EE_PATH_LIST) { + if (option->flag & ADJUST_PATH && option->flag & VALUE_IS_LIST) { c2 = checkPathList(c1, eeDir, 1); free(c1); c1 = c2; - } else if (option->flag & EE_ADJUST_PATH) { + } else if (option->flag & ADJUST_PATH) { c2 = checkPath(c1, eeDir, 1); if (c2 != c1) { free(c1); diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseOS.h b/bundles/org.eclipse.equinox.executable/library/eclipseOS.h index eeff21d05..859bad440 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseOS.h +++ b/bundles/org.eclipse.equinox.executable/library/eclipseOS.h @@ -115,7 +115,7 @@ extern int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ); /* an array of paths that will need to be on the search path to load the vm shared library */ extern _TCHAR ** getVMLibrarySearchPath(_TCHAR * vmLibrary); -extern int reuseWorkbench(_TCHAR* filePath, int timeout); +extern int reuseWorkbench(_TCHAR** filePath, int timeout); #endif /* ECLIPSE_OS_H */ diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c index 8845dbc69..9ed7b68b2 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c +++ b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.c @@ -133,20 +133,27 @@ _TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverseOrder) return result; } -_TCHAR * concatStrings(_TCHAR** strs) { +_TCHAR * concatStrings(_TCHAR**strs) { + return concatPaths(strs, 0); +} + +_TCHAR * concatPaths(_TCHAR** strs, _TCHAR separator) { + _TCHAR separatorString[] = { separator, 0 }; _TCHAR * result; int i = -1; size_t length = 0; /* first count how large a buffer we need */ - while( strs[++i] != NULL) { - length += _tcslen(strs[i]); + while (strs[++i] != NULL) { + length += _tcslen(strs[i]) + (separator != 0 ? 1 : 0); } - + result = malloc((length + 1) * sizeof(_TCHAR)); result[0] = 0; i = -1; - while(strs[++i] != NULL) { + while (strs[++i] != NULL) { result = _tcscat(result, strs[i]); + if (separator != 0) + result = _tcscat(result, separatorString); } return result; } diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.h b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.h index 78ae23f95..970aba374 100644 --- a/bundles/org.eclipse.equinox.executable/library/eclipseUtil.h +++ b/bundles/org.eclipse.equinox.executable/library/eclipseUtil.h @@ -37,6 +37,9 @@ extern _TCHAR * checkPathList( _TCHAR* pathList, _TCHAR* programDir, int reverse /* take a NULL terminated array of strings and concatenate them together into one string */ extern _TCHAR * concatStrings(_TCHAR** strs); +/* take a NULL terminated array of strings and concatenate them together using the give pathSeparator */ +extern _TCHAR* concatPaths(_TCHAR** paths, _TCHAR pathSeparator); + /* check that the buffer contains all the given paths */ extern int containsPaths(_TCHAR * str, _TCHAR** paths); diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c index aa6db1db2..98605dc5c 100644 --- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c +++ b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtk.c @@ -51,7 +51,7 @@ static GtkWidget* image = 0; static sem_t* mutex; static Atom appWindowAtom, launcherWindowAtom; -static char* openFilePath = NULL; /* the file we want to open */ +static _TCHAR** openFilePath = NULL; /* the files we want to open */ static int openFileTimeout = 60; /* number of seconds to wait before timeout */ static struct sigaction quitAction; @@ -129,7 +129,7 @@ static int setAppWindowPropertyFn() { Window appWindow; GdkWindow *propWindow; GdkAtom propAtom; - char *propVal; + _TCHAR *propVal; //Look for the SWT window. If it's there, set a property on it. appWindow = gtk.XGetSelectionOwner(gtk_GDK_DISPLAY, appWindowAtom); @@ -137,15 +137,14 @@ static int setAppWindowPropertyFn() { if (appWindow) { propAtom = gtk.gdk_atom_intern("org.eclipse.swt.filePath.message", FALSE); //append a colon delimiter in case more than one file gets appended to the app windows property. - propVal = malloc((_tcslen(openFilePath) + 2) * sizeof(char)); - _stprintf(propVal, _T_ECLIPSE("%s%s"), openFilePath, ":"); - + propVal = concatPaths(openFilePath, _T_ECLIPSE(':')); propWindow = gtk.gdk_window_foreign_new(appWindow); if (propWindow != NULL) { gtk.gdk_property_change(propWindow, propAtom, propAtom, 8, GDK_PROP_MODE_APPEND, (guchar *) propVal, _tcslen(propVal)); free(propVal); return 1; } //else the window got destroyed between XGetSelectionOwner and here (?) + free(propVal); } return 0; } @@ -185,7 +184,7 @@ int createLauncherWindow() { return 1; } -int reuseWorkbench(char* filePath, int timeout) { +int reuseWorkbench(_TCHAR** filePath, int timeout) { char *appName, *launcherName; int result = 0; diff --git a/bundles/org.eclipse.equinox.executable/library/make_version.mak b/bundles/org.eclipse.equinox.executable/library/make_version.mak index 9bb6eac17..2601cc61f 100644 --- a/bundles/org.eclipse.equinox.executable/library/make_version.mak +++ b/bundles/org.eclipse.equinox.executable/library/make_version.mak @@ -10,5 +10,5 @@ #******************************************************************************* maj_ver=1 -min_ver=305 +min_ver=306 LIB_VERSION = $(maj_ver)$(min_ver) diff --git a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c index a01a4bc06..4d5f8f197 100644 --- a/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c +++ b/bundles/org.eclipse.equinox.executable/library/motif/eclipseMotif.c @@ -330,7 +330,7 @@ JavaResults* launchJavaVM( char* args[] ) return jvmResults; } -int reuseWorkbench(_TCHAR* filePath, int timeout) { +int reuseWorkbench(_TCHAR** filePath, int timeout) { /* not yet implemented on motif */ return -1; } diff --git a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c index 3500e619a..c849c93f1 100644 --- a/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c +++ b/bundles/org.eclipse.equinox.executable/library/win32/eclipseWin.c @@ -42,7 +42,7 @@ static UINT findWindowTimeout = 1000; static UINT_PTR findWindowTimerId = 97; static UINT timerCount = 0; static UINT openFileTimeout = 60; -static _TCHAR* openFilePath; +static _TCHAR** openFilePath; /* Define the window system arguments for the Java VM. */ static _TCHAR* argVM[] = { NULL }; @@ -82,20 +82,32 @@ typedef struct { static void sendOpenFileMessage(HWND window) { _TCHAR* id; UINT msg; - int size = (_tcslen(openFilePath) + 1) * sizeof(_TCHAR); + int index = 0; + int size = 0; DWORD wParam; #ifdef WIN64 DWORDLONG lParam; #else DWORD lParam; #endif - createSharedData(&id, size); - setSharedData(id, openFilePath); - msg = RegisterWindowMessage(_T("SWT_OPENDOC")); + + /* what's the longest path? */ + while (openFilePath[index] != NULL) { + int length = _tcslen(openFilePath[index++]); + if (size <= length) + size = length + 1; + } + + createSharedData(&id, size * sizeof(_TCHAR)); _stscanf(id, _T_ECLIPSE("%lx_%lx"), &wParam, &lParam); - - /* SendMessage does not return until the message has been processed */ - SendMessage(window, msg, wParam, lParam); + msg = RegisterWindowMessage(_T("SWT_OPENDOC")); + + index = 0; + for(index = 0; openFilePath[index] != NULL; index++) { + /* SendMessage does not return until the message has been processed */ + setSharedData(id, openFilePath[index]); + SendMessage(window, msg, wParam, lParam); + } destroySharedData(id); } @@ -131,7 +143,7 @@ static void CALLBACK findWindowProc(HWND hwnd, UINT message, UINT idTimer, DWORD } /* return > 0 if we successfully send a message to another eclipse instance */ -int reuseWorkbench(_TCHAR* filePath, int timeout) { +int reuseWorkbench(_TCHAR** filePath, int timeout) { _TCHAR* mutexPrefix = _T("SWT_Mutex_"); _TCHAR* mutexName, *name; DWORD lock; diff --git a/bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak b/bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak index 449b33f67..9feb80eab 100644 --- a/bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak +++ b/bundles/org.eclipse.equinox.executable/library/win32/make_mingw.mak @@ -37,7 +37,7 @@ OSTYPE ?= $(shell if uname -s | grep -iq cygwin ; then echo cygwin; else echo li ifeq ($(OSTYPE),cygwin) CCVER = i686 -CC = i686-pc-cygwin-gcc +CC = i686-pc-cygwin-gcc-3 RC = windres else CCVER = i586 diff --git a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp b/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp index f4878e35c..18b6c5138 100644 --- a/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp +++ b/bundles/org.eclipse.equinox.executable/library/wpf/eclipseWpf.cpp @@ -554,7 +554,7 @@ int isSunVM( _TCHAR * javaVM, _TCHAR * jniLib ) { return result; } -int reuseWorkbench(_TCHAR* filePath, int timeout) { +int reuseWorkbench(_TCHAR** filePath, int timeout) { /* not implemented for WPF */ return -1; } |