mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 748797 - support MOZ_LINKER_EXTRACT=1 as a configure option to turn on linker extraction all the time. r=glandium,blassey, a=android-only
CLOSED TREE
This commit is contained in:
parent
d404b0a0a0
commit
2d8264acc2
@ -715,6 +715,8 @@ MOZ_SYSTEM_PLY = @MOZ_SYSTEM_PLY@
|
|||||||
|
|
||||||
MOZ_PACKAGE_JSSHELL = @MOZ_PACKAGE_JSSHELL@
|
MOZ_PACKAGE_JSSHELL = @MOZ_PACKAGE_JSSHELL@
|
||||||
|
|
||||||
|
MOZ_LINKER_EXTRACT = @MOZ_LINKER_EXTRACT@
|
||||||
|
|
||||||
# We only want to do the pymake sanity on Windows, other os's can cope
|
# We only want to do the pymake sanity on Windows, other os's can cope
|
||||||
ifeq ($(HOST_OS_ARCH),WINNT)
|
ifeq ($(HOST_OS_ARCH),WINNT)
|
||||||
# Ensure invariants between GNU Make and pymake
|
# Ensure invariants between GNU Make and pymake
|
||||||
|
@ -8490,6 +8490,7 @@ AC_SUBST(MOZ_OS2_TOOLS)
|
|||||||
|
|
||||||
AC_SUBST(MOZ_POST_DSO_LIB_COMMAND)
|
AC_SUBST(MOZ_POST_DSO_LIB_COMMAND)
|
||||||
AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
|
AC_SUBST(MOZ_POST_PROGRAM_COMMAND)
|
||||||
|
AC_SUBST(MOZ_LINKER_EXTRACT)
|
||||||
|
|
||||||
dnl ========================================================
|
dnl ========================================================
|
||||||
dnl = Mac bundle name prefix
|
dnl = Mac bundle name prefix
|
||||||
|
@ -79,5 +79,12 @@ public class App extends GeckoApp {
|
|||||||
#endif
|
#endif
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MOZ_LINKER_EXTRACT
|
||||||
|
@Override
|
||||||
|
public boolean linkerExtract() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2831,4 +2831,8 @@ abstract public class GeckoApp
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean linkerExtract() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
@ -310,21 +310,26 @@ public class GeckoAppShell
|
|||||||
|
|
||||||
File cacheFile = getCacheDir(context);
|
File cacheFile = getCacheDir(context);
|
||||||
putenv("GRE_HOME=" + getGREDir(context).getPath());
|
putenv("GRE_HOME=" + getGREDir(context).getPath());
|
||||||
File[] files = cacheFile.listFiles();
|
|
||||||
if (files != null) {
|
|
||||||
Iterator<File> cacheFiles = Arrays.asList(files).iterator();
|
|
||||||
while (cacheFiles.hasNext()) {
|
|
||||||
File libFile = cacheFiles.next();
|
|
||||||
if (libFile.getName().endsWith(".so"))
|
|
||||||
libFile.delete();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// setup the libs cache
|
// setup the libs cache
|
||||||
String linkerCache = System.getenv("MOZ_LINKER_CACHE");
|
String linkerCache = System.getenv("MOZ_LINKER_CACHE");
|
||||||
if (System.getenv("MOZ_LINKER_CACHE") == null) {
|
if (linkerCache == null) {
|
||||||
GeckoAppShell.putenv("MOZ_LINKER_CACHE=" + cacheFile.getPath());
|
linkerCache = cacheFile.getPath();
|
||||||
|
GeckoAppShell.putenv("MOZ_LINKER_CACHE=" + linkerCache);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GeckoApp.mAppContext != null &&
|
||||||
|
GeckoApp.mAppContext.linkerExtract()) {
|
||||||
|
GeckoAppShell.putenv("MOZ_LINKER_EXTRACT=1");
|
||||||
|
// Ensure that the cache dir is world-writable
|
||||||
|
File cacheDir = new File(linkerCache);
|
||||||
|
if (cacheDir.isDirectory()) {
|
||||||
|
cacheDir.setWritable(true, false);
|
||||||
|
cacheDir.setExecutable(true, false);
|
||||||
|
cacheDir.setReadable(true, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sLibsSetup = true;
|
sLibsSetup = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,6 +212,10 @@ DEFINES += \
|
|||||||
-DUA_BUILDID=$(UA_BUILDID) \
|
-DUA_BUILDID=$(UA_BUILDID) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
|
ifdef MOZ_LINKER_EXTRACT
|
||||||
|
DEFINES += -DMOZ_LINKER_EXTRACT=1
|
||||||
|
endif
|
||||||
|
|
||||||
GARBAGE += \
|
GARBAGE += \
|
||||||
AndroidManifest.xml \
|
AndroidManifest.xml \
|
||||||
classes.dex \
|
classes.dex \
|
||||||
|
Loading…
Reference in New Issue
Block a user