@@ -173,6 +173,7 @@ private Library(File folder, String groupName) {
173173 String platformName = platformNames [i ];
174174 String platformName32 = platformName + "32" ;
175175 String platformName64 = platformName + "64" ;
176+ String platformNameArmv6hh = platformName + "-armv6hf" ;
176177
177178 // First check for things like 'application.macosx=' or 'application.windows32' in the export.txt file.
178179 // These will override anything in the platform-specific subfolders.
@@ -182,6 +183,8 @@ private Library(File folder, String groupName) {
182183 String [] platformList32 = platform32 == null ? null : PApplet .splitTokens (platform32 , ", " );
183184 String platform64 = exportTable .get ("application." + platformName + "64" );
184185 String [] platformList64 = platform64 == null ? null : PApplet .splitTokens (platform64 , ", " );
186+ String platformArmv6hf = exportTable .get ("application." + platformName + "-armv6hf" );
187+ String [] platformListArmv6hf = platformArmv6hf == null ? null : PApplet .splitTokens (platformArmv6hf , ", " );
185188
186189 // If nothing specified in the export.txt entries, look for the platform-specific folders.
187190 if (platformAll == null ) {
@@ -193,14 +196,17 @@ private Library(File folder, String groupName) {
193196 if (platform64 == null ) {
194197 platformList64 = listPlatformEntries (libraryFolder , platformName64 , baseList );
195198 }
199+ if (platformListArmv6hf == null ) {
200+ platformListArmv6hf = listPlatformEntries (libraryFolder , platformNameArmv6hh , baseList );
201+ }
196202
197- if (platformList32 != null || platformList64 != null ) {
203+ if (platformList32 != null || platformList64 != null || platformListArmv6hf != null ) {
198204 multipleArch [i ] = true ;
199205 }
200206
201207 // if there aren't any relevant imports specified or in their own folders,
202208 // then use the baseList (root of the library folder) as the default.
203- if (platformList == null && platformList32 == null && platformList64 == null ) {
209+ if (platformList == null && platformList32 == null && platformList64 == null && platformListArmv6hf == null ) {
204210 exportList .put (platformName , baseList );
205211
206212 } else {
@@ -215,6 +221,9 @@ private Library(File folder, String groupName) {
215221 if (platformList64 != null ) {
216222 exportList .put (platformName64 , platformList64 );
217223 }
224+ if (platformListArmv6hf != null ) {
225+ exportList .put (platformNameArmv6hh , platformListArmv6hf );
226+ }
218227 }
219228 }
220229// for (String p : exportList.keySet()) {
@@ -369,8 +378,8 @@ public File[] getAppletExports() {
369378 }
370379
371380
372- public File [] getApplicationExports (int platform , int bits ) {
373- String [] list = getApplicationExportList (platform , bits );
381+ public File [] getApplicationExports (int platform , String variant ) {
382+ String [] list = getApplicationExportList (platform , variant );
374383 return wrapFiles (list );
375384 }
376385
@@ -380,14 +389,17 @@ public File[] getApplicationExports(int platform, int bits) {
380389 * If no 32 or 64-bit version of the exports exists, it returns the version
381390 * that doesn't specify bit depth.
382391 */
383- public String [] getApplicationExportList (int platform , int bits ) {
392+ public String [] getApplicationExportList (int platform , String variant ) {
384393 String platformName = PConstants .platformNames [platform ];
385- if (bits == 32 ) {
394+ if (variant . equals ( "32" ) ) {
386395 String [] pieces = exportList .get (platformName + "32" );
387396 if (pieces != null ) return pieces ;
388- } else if (bits == 64 ) {
397+ } else if (variant . equals ( "64" ) ) {
389398 String [] pieces = exportList .get (platformName + "64" );
390399 if (pieces != null ) return pieces ;
400+ } else if (variant .equals ("armv6hf" )) {
401+ String [] pieces = exportList .get (platformName + "-armv6hf" );
402+ if (pieces != null ) return pieces ;
391403 }
392404 return exportList .get (platformName );
393405 }
@@ -408,12 +420,12 @@ public boolean hasMultipleArch(int platform) {
408420 }
409421
410422
411- public boolean supportsArch (int platform , int bits ) {
423+ public boolean supportsArch (int platform , String variant ) {
412424 // If this is a universal library, or has no natives, then we're good.
413425 if (multipleArch [platform ] == false ) {
414426 return true ;
415427 }
416- return getApplicationExportList (platform , bits ) != null ;
428+ return getApplicationExportList (platform , variant ) != null ;
417429 }
418430
419431
0 commit comments