macosx.mk (52d905a6) macosx.mk (e53b81a8)
1#**************************************************************
2#
3# Licensed to the Apache Software Foundation (ASF) under one
4# or more contributor license agreements. See the NOTICE file
5# distributed with this work for additional information
6# regarding copyright ownership. The ASF licenses this file
7# to you under the Apache License, Version 2.0 (the
8# "License"); you may not use this file except in compliance

--- 96 unchanged lines hidden (view full) ---

105
106ifeq ($(MACOSX_DEPLOYMENT_TARGET),$(filter $(MACOSX_DEPLOYMENT_TARGET), 10.7 10.8))
107 gb_CXXFLAGS += -std=c++11 -stdlib=libc++
108 gb_macos_LDFLAGS := -std=c++11 -stdlib=libc++
109endif
110
111# these are to get g++ to switch to Objective-C++ mode
112# (see toolkit module for a case where it is necessary to do it this way)
1#**************************************************************
2#
3# Licensed to the Apache Software Foundation (ASF) under one
4# or more contributor license agreements. See the NOTICE file
5# distributed with this work for additional information
6# regarding copyright ownership. The ASF licenses this file
7# to you under the Apache License, Version 2.0 (the
8# "License"); you may not use this file except in compliance

--- 96 unchanged lines hidden (view full) ---

105
106ifeq ($(MACOSX_DEPLOYMENT_TARGET),$(filter $(MACOSX_DEPLOYMENT_TARGET), 10.7 10.8))
107 gb_CXXFLAGS += -std=c++11 -stdlib=libc++
108 gb_macos_LDFLAGS := -std=c++11 -stdlib=libc++
109endif
110
111# these are to get g++ to switch to Objective-C++ mode
112# (see toolkit module for a case where it is necessary to do it this way)
113gb_OBJCFLAGS := -x objective-c -fobjc-exceptions
113gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions
114
115ifneq ($(MACOSX_DEPLOYMENT_TARGET),)
116 gb_CXXFLAGS += -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_$(subst .,_,$(MACOSX_DEPLOYMENT_TARGET))
117endif
118
119ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
120gb_CFLAGS_WERROR := -Werror -Wno-error=deprecated

--- 105 unchanged lines hidden (view full) ---

226 -o $(1) \
227 -MMD -MT $(1) \
228 -MF $(4) \
229 -I$(dir $(3)) \
230 $(INCLUDE_STL) $(INCLUDE))
231endef
232
233
114gb_OBJCXXFLAGS := -x objective-c++ -fobjc-exceptions
115
116ifneq ($(MACOSX_DEPLOYMENT_TARGET),)
117 gb_CXXFLAGS += -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_$(subst .,_,$(MACOSX_DEPLOYMENT_TARGET))
118endif
119
120ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
121gb_CFLAGS_WERROR := -Werror -Wno-error=deprecated

--- 105 unchanged lines hidden (view full) ---

227 -o $(1) \
228 -MMD -MT $(1) \
229 -MF $(4) \
230 -I$(dir $(3)) \
231 $(INCLUDE_STL) $(INCLUDE))
232endef
233
234
235# ObjCObject class
236
237define gb_ObjCObject__command
238$(call gb_Output_announce,$(2),$(true),OC,3)
239$(call gb_Helper_abbreviate_dirs,\
240 mkdir -p $(dir $(1)) $(dir $(4)) && \
241 $(gb_CC) \
242 $(DEFS) \
243 $(T_OBJCFLAGS) \
244 $(OBJCFLAGS) \
245 -c $(3) \
246 -o $(1) \
247 -MMD -MT $(1) \
248 -MF $(4) \
249 -I$(dir $(3)) \
250 $(INCLUDE_STL) $(INCLUDE))
251endef
252
253
234# ObjCxxObject class
235
236define gb_ObjCxxObject__command
237$(call gb_Output_announce,$(2),$(true),OCX,3)
238$(call gb_Helper_abbreviate_dirs,\
239 mkdir -p $(dir $(1)) $(dir $(4)) && \
240 $(gb_CXX) \
241 $(DEFS) \

--- 23 unchanged lines hidden (view full) ---

265 NONEBIN: \
266
267define gb_LinkTarget__get_installname
268$(if $(2),-install_name '$(2)$(1)',)
269endef
270
271gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
272gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
254# ObjCxxObject class
255
256define gb_ObjCxxObject__command
257$(call gb_Output_announce,$(2),$(true),OCX,3)
258$(call gb_Helper_abbreviate_dirs,\
259 mkdir -p $(dir $(1)) $(dir $(4)) && \
260 $(gb_CXX) \
261 $(DEFS) \

--- 23 unchanged lines hidden (view full) ---

285 NONEBIN: \
286
287define gb_LinkTarget__get_installname
288$(if $(2),-install_name '$(2)$(1)',)
289endef
290
291gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR)
292gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR)
293gb_LinkTarget_OBJCFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_OBJCFLAGS)
273gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) $(gb_OBJCXXFLAGS)
274
275gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
276gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
277
278# FIXME framework handling very hackish
279define gb_LinkTarget__get_liblinkflags
280$(patsubst lib%.dylib,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS),$(1)),$(call gb_Library_get_filename,$(lib)))) \

--- 24 unchanged lines hidden (view full) ---

305 $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
306 $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
307 $(subst \d,$$,$(RPATH)) \
308 $(T_LDFLAGS) $(gb_macos_LDFLAGS) \
309 $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
310 $(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \
311 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
312 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
294gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) $(gb_OBJCXXFLAGS)
295
296gb_LinkTarget_INCLUDE := $(filter-out %/stl, $(subst -I. , ,$(SOLARINC)))
297gb_LinkTarget_INCLUDE_STL := $(filter %/stl, $(subst -I. , ,$(SOLARINC)))
298
299# FIXME framework handling very hackish
300define gb_LinkTarget__get_liblinkflags
301$(patsubst lib%.dylib,-l%,$(foreach lib,$(filter-out $(gb_Library__FRAMEWORKS),$(1)),$(call gb_Library_get_filename,$(lib)))) \

--- 24 unchanged lines hidden (view full) ---

326 $(if $(filter Executable,$(TARGETTYPE)),$(gb_Executable_TARGETTYPEFLAGS)) \
327 $(if $(filter Library,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \
328 $(subst \d,$$,$(RPATH)) \
329 $(T_LDFLAGS) $(gb_macos_LDFLAGS) \
330 $(call gb_LinkTarget__get_liblinkflags,$(LINKED_LIBS)) \
331 $(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \
332 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
333 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
334 $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
313 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
314 $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
315 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
316 $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
317 $(LIBS) \
318 -o $(1) \
319 `cat $${DYLIB_FILE}` && \
320 $(if $(filter Library,$(TARGETTYPE)),\

--- 4 unchanged lines hidden (view full) ---

325
326# parameters: 1-linktarget 2-cobjects 3-cxxobjects
327define gb_LinkTarget__command_staticlink
328$(call gb_Helper_abbreviate_dirs,\
329 mkdir -p $(dir $(1)) && \
330 $(gb_AR) -rsu $(1) \
331 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
332 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
335 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
336 $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
337 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
338 $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) \
339 $(LIBS) \
340 -o $(1) \
341 `cat $${DYLIB_FILE}` && \
342 $(if $(filter Library,$(TARGETTYPE)),\

--- 4 unchanged lines hidden (view full) ---

347
348# parameters: 1-linktarget 2-cobjects 3-cxxobjects
349define gb_LinkTarget__command_staticlink
350$(call gb_Helper_abbreviate_dirs,\
351 mkdir -p $(dir $(1)) && \
352 $(gb_AR) -rsu $(1) \
353 $(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
354 $(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
355 $(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
333 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
334 $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
335 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
336 2> /dev/null)
337endef
338
339define gb_LinkTarget__command
340$(call gb_Output_announce,$(2),$(true),LNK,4)

--- 181 unchanged lines hidden ---
356 $(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
357 $(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
358 $(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
359 2> /dev/null)
360endef
361
362define gb_LinkTarget__command
363$(call gb_Output_announce,$(2),$(true),LNK,4)

--- 181 unchanged lines hidden ---