expo-juce 0.2.13 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ios/ExpoJuce.podspec +11 -16
- package/package.json +1 -1
package/ios/ExpoJuce.podspec
CHANGED
|
@@ -17,19 +17,14 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
|
|
18
18
|
s.dependency 'ExpoModulesCore'
|
|
19
19
|
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
# module map, where they fail to compile standalone (missing FLT_MAX etc).
|
|
23
|
-
# JuceModules.mm #includes the JUCE .cpp files via amalgamation;
|
|
24
|
-
# JUCE headers are found via HEADER_SEARCH_PATHS.
|
|
20
|
+
# Our ARC-compatible source files (Swift, ObjC bridge, tone generator wrapper)
|
|
21
|
+
# JuceModules.mm is excluded here — handled by the non-ARC subspec below
|
|
25
22
|
s.source_files = "*.{h,m,mm,swift}"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
# It's applied to C++ via OTHER_CPLUSPLUSFLAGS -include instead.
|
|
29
|
-
s.exclude_files = "JuceConfig.h"
|
|
23
|
+
s.exclude_files = ["JuceConfig.h", "JuceModules.mm"]
|
|
24
|
+
s.requires_arc = true
|
|
30
25
|
|
|
31
26
|
# Keep JUCE sources on disk so the compiler can find them via #include
|
|
32
|
-
s.preserve_paths = "juce_modules/**"
|
|
27
|
+
s.preserve_paths = ["juce_modules/**", "JuceModules.mm"]
|
|
33
28
|
|
|
34
29
|
# iOS frameworks required by JUCE modules + our AVAudioEngine code
|
|
35
30
|
s.frameworks = 'AVFoundation', 'AudioToolbox', 'CoreAudio',
|
|
@@ -41,14 +36,14 @@ Pod::Spec.new do |s|
|
|
|
41
36
|
'DEFINES_MODULE' => 'YES',
|
|
42
37
|
'SWIFT_COMPILATION_MODE' => 'wholemodule',
|
|
43
38
|
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++17',
|
|
44
|
-
'CLANG_ENABLE_OBJC_ARC' => 'YES',
|
|
45
|
-
# PODS_TARGET_SRCROOT already points to ios/ (where this podspec lives).
|
|
46
|
-
# Only our dir in HEADER_SEARCH_PATHS — safe for the Clang module map.
|
|
47
|
-
# JUCE's juce_modules/ goes in OTHER_CPLUSPLUSFLAGS so it only affects
|
|
48
|
-
# C++/ObjC++ source compilation and can't shadow system headers during
|
|
49
|
-
# module building (JUCE bundles its own zlib.h, etc.).
|
|
50
39
|
'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)"',
|
|
51
40
|
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1',
|
|
52
41
|
'OTHER_CPLUSPLUSFLAGS' => '$(inherited) -I"$(PODS_TARGET_SRCROOT)/juce_modules" -include "$(PODS_TARGET_SRCROOT)/JuceConfig.h"',
|
|
53
42
|
}
|
|
43
|
+
|
|
44
|
+
# JUCE amalgamation compiled WITHOUT ARC (JUCE uses manual retain/release)
|
|
45
|
+
s.subspec 'JuceAmalgamation' do |juce|
|
|
46
|
+
juce.source_files = 'JuceModules.mm'
|
|
47
|
+
juce.requires_arc = false
|
|
48
|
+
end
|
|
54
49
|
end
|