From 4105ebb6ed85aaffec5e4469a939945fb9eea066 Mon Sep 17 00:00:00 2001 From: athenian200 Date: Tue, 1 Oct 2019 18:28:10 -0500 Subject: MoonchildProductions#1251 - Part 4: Core build system changes, lots of libevent/IPC junk. This is mostly ifdefs, but as you can see, Solaris is actually a lot like Linux. They're both more SysV than BSD at core, and most of the differences have more to do with Solaris not using glibc than anything else. I still need to audit a lot of these changes and understand why they're needed and what the alternative approaches are. After this patch, most of the core functionality needed to build Solaris is here. --- widget/GfxInfoX11.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'widget') diff --git a/widget/GfxInfoX11.cpp b/widget/GfxInfoX11.cpp index 338dcac67..98a4bb965 100644 --- a/widget/GfxInfoX11.cpp +++ b/widget/GfxInfoX11.cpp @@ -187,6 +187,15 @@ GfxInfo::GetData() note.AppendLiteral(" -- texture_from_pixmap"); note.Append('\n'); + // illumos/Solaris 10 libc lacks a strcasestr function, but NSPR has + // one. A lot of programs just implement one on the spot or use strstr + // and a buffer as some kind of workaround. They've been implementing + // missing functions lately, though, so this may not be needed much longer. + +#if defined(XP_SOLARIS) +#define strcasestr PL_strcasestr +#endif + // determine the major OpenGL version. That's the first integer in the version string. mGLMajorVersion = strtol(mVersion.get(), 0, 10); -- cgit v1.2.3 From 7d65eb2b3a345abe22f42361e00c97da2e968009 Mon Sep 17 00:00:00 2001 From: athenian200 Date: Mon, 7 Oct 2019 03:27:01 -0500 Subject: MoonchildProductions#1251 - Part 22: Remove some unused type declarations from IPC process_util. https://bugzilla.mozilla.org/show_bug.cgi?id=1397928 Was looking into that _POSIX_PATH_MAX/NAME_MAX issue earlier because it didn't make a lot of sense and I was thinking of other approaches besides char arrays, and I wanted to make sure it didn't cause problems after they did it. Turns out that one commit after this was added, Mozilla determined the code I was working on fixing to be dead code as of Firefox 58. I don't know if it's dead code in Pale Moon as well, but given that it compiles fine without it and I can't find any other references to szExeFile in the IPC code, that seems like a safe bet. Besides, I determined config/pathsub.c already seems to do what this code looks like it's trying to do, and implements the solution of just defining NAME_MAX to 256 and having done with it that I nearly adopted after realizing that even OS/2 and BeOS, let alone Unix/Linux systems, all basically use that value and there's just disagreement on which system header to check for it. --- widget/GfxInfoX11.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'widget') diff --git a/widget/GfxInfoX11.cpp b/widget/GfxInfoX11.cpp index 98a4bb965..05a2cab1a 100644 --- a/widget/GfxInfoX11.cpp +++ b/widget/GfxInfoX11.cpp @@ -192,7 +192,7 @@ GfxInfo::GetData() // and a buffer as some kind of workaround. They've been implementing // missing functions lately, though, so this may not be needed much longer. -#if defined(XP_SOLARIS) +#ifndef strcasestr #define strcasestr PL_strcasestr #endif -- cgit v1.2.3