Kaydet (Commit) 423479cd authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: fdo#51166 disconnect inclusion of nss libs in install from mozilla

We need the nss libs in our final install always (unless using system-nss libs)
so finally disentangle nss from mozilla because --disable-build-mozilla had the
sideeffect of *not* including the nss libraries in the final install. Which
means that the xml_xmlsec.dll on windows couldn't be loaded due to missing
dependencies.

a) Strip out the nss libs from the pre-builds if those are being used.
b) Strip out the nss libs from the mozilla build itself if that's being used.
c) Don't include the nss libs in the weird mozillaruntime.zip which gets unpacked
    into the install.
d) Package the nss libs directly in scp2 like everything else

Change-Id: Ia89d75cb0c0b83e84e60d0444ffc7997103fbc55
üst 403bdf77
...@@ -32,75 +32,10 @@ RUNTIME_DIR=$(MISC)$/$(MOZTARGET)runtime ...@@ -32,75 +32,10 @@ RUNTIME_DIR=$(MISC)$/$(MOZTARGET)runtime
LIB_DIR=$(LB) LIB_DIR=$(LB)
INCLUDE_DIR=$(INCCOM) INCLUDE_DIR=$(INCCOM)
#If we build the NSS module then we do not need the old nss libs from here
.IF "$(SYSTEM_NSS)"=="NO"
.IF "$(OS)" == "SOLARIS"
.IF "$(CPU)" == "S" #32bit
FREEBL_LIB=freebl_32fpu_3 freebl_32int64_3 freebl_32int_3
.ELIF "$(CPU)" == "U" #64bit unxsolu4
FREEBL_LIB=freebl_64int_3 freebl_64fpu_3
.ELSE
FREEBL_LIB=freebl3
.ENDIF #"$(CPU)" == "S"
.ELSE # "$(OS)" == "SOLARIS"
FREEBL_LIB=freebl3
.ENDIF # "$(OS)" == "SOLARIS"
NSS_MODULE_RUNTIME_LIST:= \
$(FREEBL_LIB) \
nspr4 \
nss3 \
nssckbi \
nssdbm3 \
nssutil3 \
plc4 \
plds4 \
smime3 \
softokn3 \
ssl3
# For Mac OS X >= 10.6 the system lib is used instead (see nss/makefile.mk):
.IF "$(OS)" == "MACOSX" && "$(MAC_OS_X_VERSION_MIN_REQUIRED)" >= "1060"
.ELSE
NSS_MODULE_RUNTIME_LIST += sqlite/sqlite3
.END
BIN_RUNTIMELIST= \ BIN_RUNTIMELIST= \
xpcom \ xpcom \
xpcom_core \ xpcom_core \
xpcom_compat xpcom_compat
.ELSE
.IF "$(GUI)" == "WNT"
FREEBL_LIB=freebl3
.ELSE # "$(GUI)" == "WNT"
.IF "$(OS)$(CPUNAME)" == "SOLARISSPARC"
FREEBL_LIB=freebl_32fpu_3
.ELSE # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
FREEBL_LIB=freebl3
.ENDIF # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
.ENDIF # "$(GUI)" == "WNT"
BIN_RUNTIMELIST= \
nspr4 \
plc4 \
plds4 \
xpcom \
xpcom_core \
xpcom_compat \
nss3 \
ssl3 \
softokn3 \
smime3 \
$(FREEBL_LIB)
.ENDIF # "$(SYSTEM_NSS)"=="NO"
.IF "$(GUI)"=="WNT" .IF "$(GUI)"=="WNT"
BIN_RUNTIMELIST+= \ BIN_RUNTIMELIST+= \
...@@ -169,47 +104,6 @@ DEFAULTS_RUNTIMELIST= \ ...@@ -169,47 +104,6 @@ DEFAULTS_RUNTIMELIST= \
greprefs$/all.js \ greprefs$/all.js \
greprefs$/security-prefs.js greprefs$/security-prefs.js
.IF "$(SYSTEM_NSS)"=="NO"
.IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC"
LIBLIST= \
libembed_base_s.a \
libmozreg_s.a \
libnslber32v50.a \
libnsldap32v50.a \
libxpcom_core.dll.a \
libxpcom.dll.a
.ELSE #"$(COM)"=="GCC"
LIBLIST= \
embed_base_s.lib \
mozreg_s.lib \
nslber32v50.lib \
nsldap32v50.lib \
xpcom_core.lib \
xpcom.lib
.ENDIF #"$(COM)"=="GCC"
.ELSE #"$(GUI)"=="WNT"
LIBLIST= \
libembed_base_s.a \
libmozreg_s.a \
liblber50.a \
libxpcom_core$(DLLPOST) \
libxpcom$(DLLPOST) \
libmsgbaseutil$(DLLPOST) \
libldap50$(DLLPOST) \
.ENDIF
.ELSE # .IF"$(SYSTEM_NSS)"=="NO"
.IF "$(GUI)"=="WNT" .IF "$(GUI)"=="WNT"
.IF "$(COM)"=="GCC" .IF "$(COM)"=="GCC"
...@@ -218,11 +112,8 @@ LIBLIST= \ ...@@ -218,11 +112,8 @@ LIBLIST= \
libmozreg_s.a \ libmozreg_s.a \
libnslber32v50.a \ libnslber32v50.a \
libnsldap32v50.a \ libnsldap32v50.a \
libnspr4.a \
libxpcom_core.dll.a \ libxpcom_core.dll.a \
libxpcom.dll.a \ libxpcom.dll.a
libnss3.a \
libsmime3.a
.ELSE .ELSE
...@@ -231,14 +122,8 @@ LIBLIST= \ ...@@ -231,14 +122,8 @@ LIBLIST= \
mozreg_s.lib \ mozreg_s.lib \
nslber32v50.lib \ nslber32v50.lib \
nsldap32v50.lib \ nsldap32v50.lib \
nspr4.lib \
xpcom_core.lib \ xpcom_core.lib \
xpcom.lib \ xpcom.lib
plc4.lib \
plds4.lib \
nss3.lib \
ssl3.lib \
smime3.lib
.ENDIF .ENDIF
...@@ -248,20 +133,12 @@ LIBLIST= \ ...@@ -248,20 +133,12 @@ LIBLIST= \
libembed_base_s.a \ libembed_base_s.a \
libmozreg_s.a \ libmozreg_s.a \
liblber50.a \ liblber50.a \
libnspr4$(DLLPOST) \
libxpcom_core$(DLLPOST) \ libxpcom_core$(DLLPOST) \
libxpcom$(DLLPOST) \ libxpcom$(DLLPOST) \
libmsgbaseutil$(DLLPOST) \ libmsgbaseutil$(DLLPOST) \
libldap50$(DLLPOST) \ libldap50$(DLLPOST)
libsoftokn3$(DLLPOST) \
libplc4$(DLLPOST) \
libplds4$(DLLPOST) \
libnss3$(DLLPOST) \
libssl3$(DLLPOST) \
libsmime3$(DLLPOST)
.ENDIF .ENDIF #"$(GUI)"=="WNT"
.ENDIF # .IF "$(SYSTEM_NSS)"=="NO"
INCLUDE_PATH=$(MOZ_DIST_DIR)$/include$/ INCLUDE_PATH=$(MOZ_DIST_DIR)$/include$/
PUBLIC_PATH=$(MOZ_DIST_DIR)$/public$/ PUBLIC_PATH=$(MOZ_DIST_DIR)$/public$/
...@@ -304,22 +181,8 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip ...@@ -304,22 +181,8 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
$(foreach,file,$(BIN_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$(file)$(DLLPOST) \ $(foreach,file,$(BIN_RUNTIMELIST) $(COPY) $(MOZ_BIN_DIR)$/$(DLLPRE)$(file)$(DLLPOST) \
$(LIB_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \ $(LIB_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \
echo >& $(NULLDEV) echo >& $(NULLDEV)
.IF "$(SYSTEM_NSS)" == "NO"
# We add the libraries from the separate nss module
$(foreach,file,$(NSS_MODULE_RUNTIME_LIST) $(COPY) $(SOLARLIBDIR)$/$(file:d:d)/$(DLLPRE)$(file:f)$(DLLPOST) \
$(RUNTIME_DIR)$/$(DLLPRE)$(file:f)$(DLLPOST) &&) \
echo >& $(NULLDEV)
.ENDIF
.ELSE # .IF "$(GUI)" == "UNX"
.IF "$(SYSTEM_NSS)" == "NO"
# We add the libraries from the separate nss module
$(foreach,file,$(NSS_MODULE_RUNTIME_LIST) $(COPY) $(SOLARBINDIR)$/$(DLLPRE)$(file)$(DLLPOST) \
$(RUNTIME_DIR)$/$(DLLPRE)$(file)$(DLLPOST) &&) \
echo >& $(NULLDEV)
.ENDIF
.ENDIF # .IF "$(GUI)" == "UNX" .ENDIF # .IF "$(GUI)" == "UNX"
# copy files in RES_FILELIST # copy files in RES_FILELIST
.IF "$(OS)"=="SOLARIS" .IF "$(OS)"=="SOLARIS"
@$(COPY) $(MOZ_BIN_DIR)$/res$/charsetalias.properties $(RUNTIME_DIR)$/res$/charsetalias.properties @$(COPY) $(MOZ_BIN_DIR)$/res$/charsetalias.properties $(RUNTIME_DIR)$/res$/charsetalias.properties
...@@ -355,12 +218,6 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip ...@@ -355,12 +218,6 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
$(RUNTIME_DIR)$/*$(DLLPOST) $(RUNTIME_DIR)$/*$(DLLPOST)
# A crude hack to adapt all the absolute ("@executable_path") dependencies to # A crude hack to adapt all the absolute ("@executable_path") dependencies to
# relative ("@loader_path") ones: # relative ("@loader_path") ones:
$(foreach,file,$(shell ls $(RUNTIME_DIR)$/components$/*$(DLLPOST)) \
install_name_tool \
-change @executable_path/libnspr4.dylib @loader_path/libnspr4.dylib \
-change @executable_path/libplc4.dylib @loader_path/libplc4.dylib \
-change @executable_path/libplds4.dylib @loader_path/libplds4.dylib \
$(file) &&) true
$(foreach,file,$(shell ls $(RUNTIME_DIR)$/components$/*$(DLLPOST)) \ $(foreach,file,$(shell ls $(RUNTIME_DIR)$/components$/*$(DLLPOST)) \
install_name_tool \ install_name_tool \
-change @executable_path/libldap50.dylib \ -change @executable_path/libldap50.dylib \
...@@ -369,17 +226,8 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip ...@@ -369,17 +226,8 @@ $(MISC)$/build$/so_moz_runtime_files: $(OUT)$/bin$/mozruntime.zip
-change @executable_path/libmozz.dylib @loader_path/../libmozz.dylib \ -change @executable_path/libmozz.dylib @loader_path/../libmozz.dylib \
-change @executable_path/libmsgbaseutil.dylib \ -change @executable_path/libmsgbaseutil.dylib \
@loader_path/../libmsgbaseutil.dylib \ @loader_path/../libmsgbaseutil.dylib \
-change @executable_path/libnspr4.dylib @loader_path/../libnspr4.dylib \
-change @executable_path/libnss3.dylib @loader_path/../libnss3.dylib \
-change @executable_path/libplc4.dylib @loader_path/../libplc4.dylib \
-change @executable_path/libplds4.dylib @loader_path/../libplds4.dylib \
-change @executable_path/libprldap50.dylib \ -change @executable_path/libprldap50.dylib \
@loader_path/../libprldap50.dylib \ @loader_path/../libprldap50.dylib \
-change @executable_path/libsmime3.dylib \
@loader_path/../libsmime3.dylib \
-change @executable_path/libsoftokn3.dylib \
@loader_path/../libsoftokn3.dylib \
-change @executable_path/libssl3.dylib @loader_path/../libssl3.dylib \
-change @executable_path/libxpcom.dylib @loader_path/../libxpcom.dylib \ -change @executable_path/libxpcom.dylib @loader_path/../libxpcom.dylib \
-change @executable_path/libxpcom_compat.dylib \ -change @executable_path/libxpcom_compat.dylib \
@loader_path/../libxpcom_compat.dylib \ @loader_path/../libxpcom_compat.dylib \
...@@ -460,6 +308,3 @@ $(MISC)$/CREATETARBALL: extract_mozab_files ...@@ -460,6 +308,3 @@ $(MISC)$/CREATETARBALL: extract_mozab_files
.ENDIF .ENDIF
cd $(LB) && zip -r ..$/zipped$/$(MOZTARGET)lib.zip * cd $(LB) && zip -r ..$/zipped$/$(MOZTARGET)lib.zip *
cd $(INCCOM) && zip -r ..$/zipped$/$(MOZTARGET)inc.zip * cd $(INCCOM) && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
.IF "$(SYSTEM_NSS)"=="NO"
cd $(OUT)$/inc.nss && zip -r ..$/zipped$/$(MOZTARGET)inc.zip *
.ENDIF
...@@ -52,7 +52,7 @@ ALLTAR: \ ...@@ -52,7 +52,7 @@ ALLTAR: \
$(MISC)$/unpacked_$(TARGET)_inc \ $(MISC)$/unpacked_$(TARGET)_inc \
$(MISC)$/unpacked_$(TARGET)_lib \ $(MISC)$/unpacked_$(TARGET)_lib \
$(BIN)$/mozruntime.zip \ $(BIN)$/mozruntime.zip \
$(MISC)$/replace_old_nss_libs $(MISC)$/remove_old_nss_libs
.ENDIF .ENDIF
.IF "$(GUI)" == "UNX" .IF "$(GUI)" == "UNX"
...@@ -94,24 +94,11 @@ $(BIN)$/mozruntime%zip : $(OS)$(COM)UBruntime.zip ...@@ -94,24 +94,11 @@ $(BIN)$/mozruntime%zip : $(OS)$(COM)UBruntime.zip
.ENDIF # "$(GUIBASE)"=="aqua" .ENDIF # "$(GUIBASE)"=="aqua"
LIBLIST = LIBLIST =
BIN_RUNTIMELIST =
NSS_MODULE_RUNTIME_LIST = # The old prebuilt moz files include all the old NSS stuff from moz but we
# always build the toplevel nss module, so we must delete all these
# The prebuilt moz files include all the old NSS stuff from moz and not the new NSS_RUNTIMELIST= \
# NSS libs, headers, etc, from the separate nss module. If we use the nss module freebl3 \
# then we must take care not to deliver the old NSS stuff from the "prebuilts"
.IF "$(GUI)" == "WNT"
FREEBL_LIB_OLD=freebl3
.ELSE # "$(GUI)" == "WNT"
.IF "$(OS)$(CPUNAME)" == "SOLARISSPARC"
FREEBL_LIB_OLD=freebl_32fpu_3
.ELSE # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
FREEBL_LIB_OLD=freebl3
.ENDIF # "$(OS)$(CPUNAME)" == "SOLARISSPARC"
.ENDIF # "$(GUI)" == "WNT"
BIN_RUNTIMELIST= \
$(FREEBL_LIB_OLD) \
nspr4 \ nspr4 \
plc4 \ plc4 \
plds4 \ plds4 \
...@@ -141,7 +128,7 @@ LIBLIST= \ ...@@ -141,7 +128,7 @@ LIBLIST= \
.ENDIF .ENDIF
.ELSE #"$(GUI)"=="WNT" .ELSE #"$(GUI)"=="WNT"
LIBLIST= \ LIBLIST= \
lib$(FREEBL_LIB_OLD)$(DLLPOST) \ libfreebl3$(DLLPOST) \
libnspr4$(DLLPOST) \ libnspr4$(DLLPOST) \
libsoftokn3$(DLLPOST) \ libsoftokn3$(DLLPOST) \
libplc4$(DLLPOST) \ libplc4$(DLLPOST) \
...@@ -152,21 +139,8 @@ LIBLIST= \ ...@@ -152,21 +139,8 @@ LIBLIST= \
.ENDIF # .IF "$(GUI)"=="WNT" .ENDIF # .IF "$(GUI)"=="WNT"
.IF "$(OS)" == "SOLARIS" NSS_RUNTIMELIST:= \
.IF "$(CPU)" == "S" #32bit freebl3 \
FREEBL=freebl_32fpu_3 freebl_32int64_3 freebl_32int_3
.ELIF "$(CPU)" == "U" #64bit unxsolu4
FREEBL=freebl_64int_3 freebl_64fpu_3
.ELSE
FREEBL=freebl3
.ENDIF #"$(CPU)" == "S"
.ELSE # "$(OS)" == "SOLARIS"
FREEBL=freebl3
.ENDIF # "$(OS)" == "SOLARIS"
NSS_MODULE_RUNTIME_LIST:= \
$(FREEBL) \
nspr4 \ nspr4 \
nss3 \ nss3 \
nssckbi \ nssckbi \
...@@ -174,33 +148,22 @@ NSS_MODULE_RUNTIME_LIST:= \ ...@@ -174,33 +148,22 @@ NSS_MODULE_RUNTIME_LIST:= \
nssutil3 \ nssutil3 \
plc4 \ plc4 \
plds4 \ plds4 \
sqlite3 \
smime3 \ smime3 \
softokn3 \ softokn3 \
ssl3 ssl3
# On Linux/Unix sqlite is delivered to $(SOLARLIBDIR)/sqlite/libsqlite3.so (see # Remove the nss libs
# nss/README) and for Mac OS X >= 10.6 the system lib is used instead (see $(MISC)$/remove_old_nss_libs : $(MISC)$/unpacked_$(TARGET)_lib \
# nss/makefile.mk):
.IF "$(OS)" == "MACOSX" && "$(MAC_OS_X_VERSION_MIN_REQUIRED)" >= "1060"
.ELSE
NSS_MODULE_RUNTIME_LIST += sqlite/sqlite3
.END
# Remove the nss libs build in moz and those build in the nss module
$(MISC)$/replace_old_nss_libs : $(MISC)$/unpacked_$(TARGET)_lib \
$(MISC)$/unpacked_$(TARGET)_inc $(BIN)$/mozruntime.zip $(MISC)$/unpacked_$(TARGET)_inc $(BIN)$/mozruntime.zip
$(foreach,lib,$(LIBLIST) rm -f $(LB)$/$(lib) &&) \ $(foreach,lib,$(LIBLIST) rm -f $(LB)$/$(lib) &&) \
echo >& $(NULLDEV) echo >& $(NULLDEV)
$(foreach,lib,$(BIN_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib:f)$(DLLPOST) &&) \ $(foreach,lib,$(NSS_RUNTIMELIST) zip -d $(BIN)$/mozruntime.zip $(DLLPRE)$(lib:f)$(DLLPOST) &&) \
echo >& $(NULLDEV) echo >& $(NULLDEV)
.IF "$(GUI)"=="WNT" rm -r -f $(INCCOM)$/nss &&) \
+$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARBINDIR)$/$(DLLPRE)$(lib:f)$(DLLPOST) &&) \ echo >& $(NULLDEV)
echo >& $(NULLDEV) rm -r -f $(INCCOM)$/nspr &&) \
.ELSE echo >& $(NULLDEV)
+$(foreach,lib,$(NSS_MODULE_RUNTIME_LIST) zip -g -j $(BIN)$/mozruntime.zip $(SOLARLIBDIR)$/$(lib:d)$(DLLPRE)$(lib:f)$(DLLPOST) &&) \
echo >& $(NULLDEV)
.ENDIF
$(TOUCH) $@ $(TOUCH) $@
.ENDIF # unpack mozab zips .ENDIF # unpack mozab zips
...@@ -76,6 +76,7 @@ $(eval $(call gb_InstallModule_define_if_set,scp2/ooo,\ ...@@ -76,6 +76,7 @@ $(eval $(call gb_InstallModule_define_if_set,scp2/ooo,\
SYSTEM_MOZILLA \ SYSTEM_MOZILLA \
SYSTEM_MYTHES \ SYSTEM_MYTHES \
SYSTEM_NEON \ SYSTEM_NEON \
SYSTEM_NSS \
SYSTEM_OPENSSL \ SYSTEM_OPENSSL \
SYSTEM_PANGO \ SYSTEM_PANGO \
SYSTEM_PORTAUDIO \ SYSTEM_PORTAUDIO \
......
...@@ -1326,6 +1326,37 @@ SPECIAL_LIB_FILE(gid_File_Lib_Ucpdav1,ucpdav1) ...@@ -1326,6 +1326,37 @@ SPECIAL_LIB_FILE(gid_File_Lib_Ucpdav1,ucpdav1)
#endif #endif
#endif #endif
#ifndef SYSTEM_NSS
SPECIAL_LIB_FILE(gid_File_Lib_Freebl3,freebl3)
SPECIAL_LIB_FILE(gid_File_Lib_Nss3,nss3)
SPECIAL_LIB_FILE(gid_File_Lib_Nspr,nspr4)
SPECIAL_LIB_FILE(gid_File_Lib_Nssdbm3,nssdbm3)
SPECIAL_LIB_FILE(gid_File_Lib_Nssutil3,nssutil3)
SPECIAL_LIB_FILE(gid_File_Lib_Nssckbi,nssckbi)
SPECIAL_LIB_FILE(gid_File_Lib_Plc4,plc4)
SPECIAL_LIB_FILE(gid_File_Lib_Plds4,plds4)
SPECIAL_LIB_FILE(gid_File_Lib_Softokn3,softokn3)
SPECIAL_LIB_FILE(gid_File_Lib_Smime3,smime3)
#ifdef WNT
SPECIAL_LIB_FILE(gid_File_Lib_Sqlite3,sqlite3)
#else
/*
For MacOSX >= 10.6 we can apparently use the system sqlite.
For MacOSX 10.4 we've delivered sqlite into a sqlite subdir for the duration
of the build to avoid #i106132#. Now we need to put it into the program dir of
the install.
*/
#if !defined(MACOS) || (MAC_OS_X_VERSION_MIN_REQUIRED < 1060)
File gid_File_Lib_Sqlite3
Name = "sqlite/" SPECIAL_NAME(sqlite3);
PACKED_LIB_FILE_BODY;
End
#endif
#endif
SPECIAL_LIB_FILE(gid_File_Lib_Ssl3,ssl3)
#endif
SPECIAL_LIB_FILE(gid_File_Lib_Ucpfile1,ucpfile1) SPECIAL_LIB_FILE(gid_File_Lib_Ucpfile1,ucpfile1)
SPECIAL_LIB_FILE(gid_File_Lib_Ucpftp1,ucpftp1) SPECIAL_LIB_FILE(gid_File_Lib_Ucpftp1,ucpftp1)
......
...@@ -408,6 +408,18 @@ Module gid_Module_Root_Files_5 ...@@ -408,6 +408,18 @@ Module gid_Module_Root_Files_5
gid_Unixlink_File_Lib_Rasqal, gid_Unixlink_File_Lib_Rasqal,
gid_File_Lib_Rdf, gid_File_Lib_Rdf,
gid_Unixlink_File_Lib_Rdf, gid_Unixlink_File_Lib_Rdf,
gid_File_Lib_Freebl3,
gid_File_Lib_Nss3,
gid_File_Lib_Nspr,
gid_File_Lib_Nssdbm3,
gid_File_Lib_Nssutil3,
gid_File_Lib_Nssckbi,
gid_File_Lib_Plc4,
gid_File_Lib_Plds4,
gid_File_Lib_Softokn3,
gid_File_Lib_Smime3,
gid_File_Lib_Sqlite3,
gid_File_Lib_Ssl3,
gid_File_Lib_Unordf, gid_File_Lib_Unordf,
gid_File_Lib_Sndfile, gid_File_Lib_Sndfile,
gid_File_Lib_Tvhlp1, gid_File_Lib_Tvhlp1,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment