expo-juce 0.2.4 → 0.2.8

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.
@@ -17,12 +17,18 @@ Pod::Spec.new do |s|
17
17
 
18
18
  s.dependency 'ExpoModulesCore'
19
19
 
20
- # Our own source files (Swift, ObjC, ObjC++, headers)
21
- # JuceModules.mm #includes the JUCE .cpp files via amalgamation,
22
- # so we do NOT list juce_modules/**/*.cpp as source_files (would cause duplicate symbols).
23
- s.source_files = "**/*.{h,m,mm,swift}"
20
+ # Only OUR source files not JUCE subdirectories.
21
+ # JUCE headers must NOT be in source_files or CocoaPods adds them to the
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.
25
+ s.source_files = "*.{h,m,mm,swift}"
26
+ # JuceConfig.h is a C++ prefix header (uses <cfloat> etc.) — it must NOT
27
+ # appear in the Clang module map or Swift/ObjC imports will fail.
28
+ # It's applied to C++ via OTHER_CPLUSPLUSFLAGS -include instead.
29
+ s.exclude_files = "JuceConfig.h"
24
30
 
25
- # JUCE headers need to be discoverable for #include
31
+ # Keep JUCE sources on disk so the compiler can find them via #include
26
32
  s.preserve_paths = "juce_modules/**"
27
33
 
28
34
  # iOS frameworks required by JUCE modules + our AVAudioEngine code
@@ -36,7 +42,12 @@ Pod::Spec.new do |s|
36
42
  'SWIFT_COMPILATION_MODE' => 'wholemodule',
37
43
  'CLANG_CXX_LANGUAGE_STANDARD' => 'c++17',
38
44
  'CLANG_ENABLE_OBJC_ARC' => 'YES',
39
- 'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)/ios" "$(PODS_TARGET_SRCROOT)/ios/juce_modules"',
45
+ # Only our ios/ dir in HEADER_SEARCH_PATHS — safe for the Clang module map.
46
+ # JUCE's juce_modules/ goes in OTHER_CPLUSPLUSFLAGS so it only affects
47
+ # C++/ObjC++ source compilation and can't shadow system headers during
48
+ # module building (JUCE bundles its own zlib.h, etc.).
49
+ 'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)/ios"',
40
50
  'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1',
51
+ 'OTHER_CPLUSPLUSFLAGS' => '$(inherited) -I"$(PODS_TARGET_SRCROOT)/ios/juce_modules" -include "$(PODS_TARGET_SRCROOT)/ios/JuceConfig.h"',
41
52
  }
42
53
  end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-juce",
3
- "version": "0.2.4",
3
+ "version": "0.2.8",
4
4
  "description": "Realtime DSP w/C++ & JUCE",
5
5
  "type": "module",
6
6
  "main": "build/index.js",