172 |
172 |
173 # Make sure the output directory is created. |
173 # Make sure the output directory is created. |
174 $(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services) |
174 $(shell $(MKDIR) -p $(JDK_OUTPUTDIR)/classes/META-INF/services) |
175 # Find all META-INF/services/* files |
175 # Find all META-INF/services/* files |
176 ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF) |
176 ALL_META-INF_DIRS_share:=$(shell $(FIND) $(JDK_TOPDIR)/src/share/classes -type d -a -name META-INF) |
177 ALL_META-INF_DIRS_targetapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes -type d -a -name META-INF) |
177 ALL_META-INF_DIRS_targetapi:=$(shell $(FIND) $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes -type d -a -name META-INF) |
178 # Platform specific overrides shared |
178 # Platform specific overrides shared |
179 ifneq ($(ALL_META-INF_DIRS_targetapi),) |
179 ifneq ($(ALL_META-INF_DIRS_targetapi),) |
180 ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_targetapi) \ |
180 ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_targetapi) \ |
181 $(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes%,%,$(ALL_META-INF_DIRS_targetapi)),\ |
181 $(filter-out %$(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes%,%,$(ALL_META-INF_DIRS_targetapi)),\ |
182 $(ALL_META-INF_DIRS_share)) |
182 $(ALL_META-INF_DIRS_share)) |
183 else |
183 else |
184 ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share) |
184 ALL_META-INF_DIRS:=$(ALL_META-INF_DIRS_share) |
185 endif |
185 endif |
186 # Filter out META-INF dirs that shouldn't be included |
186 # Filter out META-INF dirs that shouldn't be included |
214 # The \n in the printf command is needed to make sed work on Solaris. |
214 # The \n in the printf command is needed to make sed work on Solaris. |
215 OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\ |
215 OUT_SERVICES_FILES:=$(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\ |
216 $(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g')) |
216 $(shell $(PRINTF) "$(SRC_SERVICES_FILES)\n" | $(SED) -e 's|/[^ ]*/META-INF/services/||g')) |
217 OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES)) |
217 OUT_SERVICES_FILES_COLON:=$(addsuffix :,$(OUT_SERVICES_FILES)) |
218 # Exception handling for print services with no META-INF directory |
218 # Exception handling for print services with no META-INF directory |
219 SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/*) |
219 SRC_SERVICES_FILES_PRINT = $(wildcard $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes/sun/print/services/*) |
220 OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\ |
220 OUT_SERVICES_FILES_PRINT = $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,\ |
221 $(patsubst $(JDK_TOPDIR)/src/$(LEGACY_OPENJDK_TARGET_OS_API)/classes/sun/print/services/%,%,\ |
221 $(patsubst $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes/sun/print/services/%,%,\ |
222 $(SRC_SERVICES_FILES_PRINT))) |
222 $(SRC_SERVICES_FILES_PRINT))) |
223 OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT)) |
223 OUT_SERVICES_FILES_PRINT_COLON = $(addsuffix :,$(OUT_SERVICES_FILES_PRINT)) |
224 RULES_SERVICES_PRINT = $(join $(OUT_SERVICES_FILES_PRINT_COLON),$(SRC_SERVICES_FILES_PRINT)) |
224 RULES_SERVICES_PRINT = $(join $(OUT_SERVICES_FILES_PRINT_COLON),$(SRC_SERVICES_FILES_PRINT)) |
225 |
225 |
226 # Now setup the dependency rules to generate a META-INF/services/... from the correct source. |
226 # Now setup the dependency rules to generate a META-INF/services/... from the correct source. |
255 javax.sound.midi.spi.MidiFileReader \ |
255 javax.sound.midi.spi.MidiFileReader \ |
256 javax.sound.midi.spi.MidiFileWriter \ |
256 javax.sound.midi.spi.MidiFileWriter \ |
257 javax.sound.midi.spi.SoundbankReader \ |
257 javax.sound.midi.spi.SoundbankReader \ |
258 javax.sound.sampled.spi.AudioFileReader \ |
258 javax.sound.sampled.spi.AudioFileReader \ |
259 javax.sound.sampled.spi.AudioFileWriter \ |
259 javax.sound.sampled.spi.AudioFileWriter \ |
260 javax.sound.sampled.spi.FormatConversionProvider |
260 javax.sound.sampled.spi.FormatConversionProvider \ |
261 |
261 javax.sound.sampled.spi.MixerProvider |
262 COPY_EXTRA += $(foreach F,$(notdir $(JAVAX_SOUND_SRC_FILES)),$(JDK_OUTPUTDIR)/classes/META-INF/services/${F}) |
262 |
263 |
263 COPY_EXTRA += $(addprefix $(JDK_OUTPUTDIR)/classes/META-INF/services/,$(JAVAX_SOUND_SRC_FILES)) |
264 ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),windows-ia64) |
|
265 JAVAX_SOUND_SRC_FILES += windows-ia64/javax.sound.sampled.spi.MixerProvider |
|
266 COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider |
|
267 else ifeq ($(OPENJDK_TARGET_OS),windows) |
|
268 JAVAX_SOUND_SRC_FILES += windows-i586/javax.sound.sampled.spi.MixerProvider |
|
269 COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider |
|
270 else ifeq ($(OPENJDK_TARGET_OS)-$(ARCH),linux-i586) |
|
271 JAVAX_SOUND_SRC_FILES += linux-i586/javax.sound.sampled.spi.MixerProvider |
|
272 COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider |
|
273 else |
|
274 JAVAX_SOUND_SRC_FILES += javax.sound.sampled.spi.MixerProvider |
|
275 COPY_EXTRA += $(JDK_OUTPUTDIR)/classes/META-INF/services/javax.sound.sampled.spi.MixerProvider |
|
276 endif |
|
277 |
264 |
278 JAVAX_SOUND_RULES := $(foreach F,$(JAVAX_SOUND_SRC_FILES),$(JDK_OUTPUTDIR)/classes/META-INF/services/$(notdir $F):$(JAVAX_SOUND_SRC)/$F) |
265 JAVAX_SOUND_RULES := $(foreach F,$(JAVAX_SOUND_SRC_FILES),$(JDK_OUTPUTDIR)/classes/META-INF/services/$(notdir $F):$(JAVAX_SOUND_SRC)/$F) |
279 |
266 |
280 $(foreach R,$(JAVAX_SOUND_RULES),$(eval $(call addto_meta-inf_services,$R))) |
267 $(foreach R,$(JAVAX_SOUND_RULES),$(eval $(call addto_meta-inf_services,$R))) |