summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-29Fix newer libcurl from not being able to downloadErik Kundiman
System libcurl, which is typically newer, doesn't accept when SL server responses with an invalid Content-Encoding value (usually some value that's probably meant to be put as the Content-Type value), that we'd get "unrecognized or bad HTTP Content or Transfer-Encoding" https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding A way to fix this would be to just not expect decompressed contents, by letting libcurl have the default value for CURLOPT_ACCEPT_ENCODING, which is NULL.
2023-07-22Fix FreeBSD login problem by checking endiannessErik Kundiman
Even though the account was logged in, it would get stuck at getting region handshake. The problem was because the viewer wasn't getting the acknowledgement to the successfully sent UseCircuitCode message. I compared the message data, and it differed (from Linux) on the byte order of the Code variable (the SessionID & agent ID were right). The bytes sent to the network weren't reversed (and I was on an Intel processor).
2023-07-19FreeBSD gets what Darwin & Linux do on dir pickersErik Kundiman
Though without this, the viewer had still successfully built, and I didn't experience any run-time problem yet. This commit is to anticipate any directory picker related problem later, cause it seems very likely that this is needed.
2023-07-19Add FreeBSDLocalesErik Kundiman
2023-07-19FreeBSD uses Linux's feature tableErik Kundiman
instead of letting it fallback to the default which would be Window's. When using the default, somehow the viewer launched with no colours even after resetting ~/.secondlife/user_settings/settings.xml.
2023-07-19No dangling gsl warning on newview with ClangErik Kundiman
2023-07-19vefifySSLCert truth is enough for setVerifySSLHostErik Kundiman
The function takes a boolean argument anyway. This is so we don't get GCC int in bool context warning which would be treated as an error.
2023-07-19Comment out unused variables whether set or notErik Kundiman
Otherwise GCC would treat them as errors, if not suppressed.
2023-07-19FreeBSD can use llappviewerlinux tooErik Kundiman
2023-07-19FreeBSD can use lldir_linux tooErik Kundiman
2023-07-19Stubs for missing implementations that use GTKErik Kundiman
in order to get rid of undefined references to `LLFilePicker::getOpenFileModeless(LLFilePicker::ELoadFilter, void (*)(bool, std::vector<std::string, std::allocator<std::string> >&, void*), void*)' `LLFilePicker::getMultipleOpenFilesModeless(LLFilePicker::ELoadFilter, void (*)(bool, std::vector<std::string, std::allocator<std::string> >&, void*), void*)' `LLFilePicker::getSaveFileModeless(LLFilePicker::ESaveFilter, std::string const&, void (*)(bool, std::string&, void*), void*)' The UI has been relying on modeless file operations. UI implementations for Linux would fall within the GTK scope, and there haven't been implementations for these three methods yet. Even know they're defined using member functions that do nothing, and return boolean false.
2023-07-19FreeBSD gets what Linux does in file pickerErik Kundiman
2023-07-19FreeBSD gets handled too in llappviewer.cppErik Kundiman
Mostly following Linux.
2023-07-19Obtain Vorbis & Ogg flags when using system libsErik Kundiman
On some platforms, pkg-config --libs vorbis might not necessarily imply -logg. vorbisenc & vorbisfile need their own checks anyway.
2023-07-19Boost since 1.76 already internally includes v5Erik Kundiman
Including v4 would cause conflicts.
2023-07-19Fix lod variable name (supposed to be which_lod?)Erik Kundiman
2023-07-19Disable packages info when using system librariesErik Kundiman
For now. Maybe.
2023-07-19Pass texture entry pointer instead to copyTextureErik Kundiman
Otherwise on GCC the -Waddress & -Wno-nonnull-compare warnings would be treated as errors. It's a different term on Clang, which is undefined bool conversion. On Clang it's just a warning, but on AppleClang it's treated as an error. Rather than suppressing these warnings, I think it's better to just adjust the interface of copyTexture, since it isn't called that many times.
2023-07-19Undefine Status on FreeBSD tooErik Kundiman
Otherwise we'd get this. error: declaration of anonymous struct must be a definition struct Status ^ indra/llcommon/llprocess.h:284:2: warning: declaration does not declare anything [-Wmissing-declarations]
2023-07-19Mac frameworks not linked for "the remaining" OSesErik Kundiman
2023-07-19stricmp needs to be defined on FreeBSD tooErik Kundiman
2023-07-19FreeBSD follows Darwin & Linux on llpluginErik Kundiman
2023-07-19Use C++14 specifically on DAE loaderErik Kundiman
When using system vanilla COLLADA DOM, it still uses std::auto_ptr which is deprecated in C++17.
2023-07-19Cast COLLADA dom instance as instructed on its docErik Kundiman
which can be found too in the system COLLADA DOM headers.
2023-07-19DAE class declarations are when not on system libsErik Kundiman
cause they would cause ambiguity with system COLLADA DOM classes.
2023-07-19Include standard library array headerErik Kundiman
as it's not implied on some platforms that std::array would be unrecognised.
2023-07-19Fix what GCC considers as misleading indentationsErik Kundiman
The style conventions aren't really being followed that the different styles of using tabs or spaces as indentations lead to GCC considering them as misleading. It's better to just fix them (but as little as possible as to minimise this fork difference from upstream) than to supress the warnings from being treated as errors.
2023-07-19Disable g_thread_init when using system libsErik Kundiman
On GCC, compiling against a recent GTK2 version would stop on deprecated pre-processors.
2023-07-19FreeBSD has SDL keyboard & window files built tooErik Kundiman
and any Linux SDL code should be applied to FreeBSD too.
2023-07-19Explicitly mean to use boost:placeholdersErik Kundiman
Otherwise _1 and _2 would be considered undeclared in many places.
2023-07-19Include FreeBSD macro variable for GL related codeErik Kundiman
2023-07-19Stubs for missing implementations that use SDLErik Kundiman
in order to get rid of this: error: invalid new-expression of abstract class type ‘LLWindowSDL’ fullscreen, clearBg, enable_vsync, use_gl, ignore_pixel_depth, fsaa_samples); note: because the following virtual functions are pure within ‘LLWindowSDL’: class LLWindowSDL : public LLWindow ^~~~~~~~~~~ virtual void* createSharedContext() = 0; ^~~~~~~~~~~~~~~~~~~ virtual void makeContextCurrent(void* context) = 0; ^~~~~~~~~~~~~~~~~~ virtual void destroySharedContext(void* context) = 0; ^~~~~~~~~~~~~~~~~~~~ virtual void toggleVSync(bool enable_vsync) = 0; ^~~~~~~~~~~ The window has been relying on some, mostly GL context related, methods. These methods are declared abstract, so for now they're implemented using member functions that do nothing, return nothing.
2023-07-19Use system SDL on FreeBSD tooErik Kundiman
X11 is still required too, that's why it's still added for linking. On Darwin, SDL is disabled for now.
2023-07-19Set so int in bool context isn't an error on GCCErik Kundiman
and only on a specific file.
2023-07-19System OpenJPEG headers are encapsulatedErik Kundiman
For now the directory name is hardcoded since v2.5.0 is the latest and the viewer code already depends on a certain function from that version. So for now it's safe to assume that the directory name's suffix is 2.5.
2023-07-19Linux filesystem dir can still be used for FreeBSDErik Kundiman
2023-07-19Explicit when using function_ptr Phoenix binderErik Kundiman
From the errors: base type ‘float (*)(float, float) noexcept’ fails to be a struct or class type struct functor_action : public FuncT { ^~~~~~~~~~~~~~ ‘float (*)(float, float) noexcept’ is not a class, struct, or union type struct result { typedef typename FuncT::result_type type; }; ^~~~ type ‘float (*)(float, float) noexcept’ is not a direct base of ‘phoenix::functor_action<float (*)(float, float) noexcept>’ : FuncT(fptr_) {} ^ it seems that GCC, at least the ones on my system, failed to deduce that the binder meant to be used when trying to bind the C Std Math Library's powf and fmodf functions is of course the function pointer one (specifically the 2 args specialisation), and not the functor one.
2023-07-19Newer system meshopt_simplify has 1 extra argumentErik Kundiman
since Meshoptimizer v0.18, an option to specify meshopt_SimplifyLockBorder.
2023-07-19System xxHash header isn't (usually?) encapsulatedErik Kundiman
2023-07-19Operating system info implementation for FreeBSDErik Kundiman
2023-07-19Macro defs on FreeBSD as it's a supported arch nowErik Kundiman
2023-07-19Processor information implementation for FreeBSDErik Kundiman
Relies on sysctl, like on Darwin, and on parsing a file, like on Linux, except the file would be /var/run/dmesg.boot.
2023-07-19Undefine NULL before defining it to 0 on FreeBSDErik Kundiman
Since C++11, NULL is promoted to nullptr on some BSD platforms. This is very problematic when used with Boost. At times it would fail during compile-time. What's worse is if it passes compile-time, but then crash during run-time, for example when some condition is to be checked for its truth, when then it would be compared to a nullptr.
2023-07-19Start including FBSD for common macro definitionsErik Kundiman
2023-07-19Deprecated declarations aren't treated as errorsErik Kundiman
I had added this to CMAKE_CXX_FLAGS in 00-Common before, and only when the compiler was Clang. But it turned out that GCC was treating them as errors too, that the addition would need to be applied to all compilers. So I prefer to put it here in llcommon with the scope set to PUBLIC cause the errors would show up again when compiling other LL libraries if the scope is set to something else.
2023-07-19stdtypes.h includes C Std Lib stddef.h for size_tErik Kundiman
in order to get rid of errors complaining that size_t was not declared in the scope.
2023-07-19VLC & CEF aren't deps when no media plugins on macErik Kundiman
2023-07-19Disable copy 3rd party libs when using system libsErik Kundiman
2023-07-19Disable viewer manager when using system libsErik Kundiman
2023-07-19Disable LLCA when using system libs for nowErik Kundiman