emsr / tr29124_test

C++ special math functions
GNU General Public License v3.0
17 stars 3 forks source link

Build and use instructions #173

Open KOLANICH opened 5 years ago

KOLANICH commented 5 years ago

Some compilers are buggy, obsolete and unmaintained and essentially dead (in the sense their maintainers don't respond). Though it may be desireable to use functions from what will be std somewhen instead of boost - boost is a separate and large library, a dependency, when I say that my PR is dependent on boost I would be advised to ****, because noone needs large dependencies. So I wonder if it is possible to install and use the content of this repo for the compilers not having a workable impl of TR29124, so no third-party dependencies at all for the compilers having the stuff in themselves?

emsr commented 5 years ago

This library has all of tr29124 implemented in addition to extensions. I am in the process of trying to make the installation and use sane. This started out as an experimentation and testing area for libstdc++ and so needs some work to make it user friendly.

If I may ask, what compilers are you targeting? What versions of C++?

Thanks for checking out my project.

Ed

emsr commented 5 years ago

This library doesn't have any outside dependencies (I do test against other libraries though - that's what 3rdparty and wrappers is about.). There are a few required submodules but those are my subprojects too.

KOLANICH commented 5 years ago

If I may ask, what compilers are you targeting? What versions of C++?

Mainly MinGW-w64 standard lib (with posix threads), compilers are g++ from MinGW-w64 and clang++. It is for Windows. For linux - latest g++ and clang available as packages. Language version is c++2a (I use --std=gnu++2a). Build system I use is CMake (and I am very unhappy with it, I use it mainly because anything else is even worse) with ninja backend, but if there is a prebuilt lib, I usually use it rather than build myself. For prebuilt libs I usually use shared libs rather than static ones. When I build libs and/or apps myself, I usually add hardening flags and I have even written a pretty bad (it is pretty bad because it doesn't test for availibility of linker flags because CMake lacks a function in stdlib for that) CMake module for it.

emsr commented 5 years ago

Ok, That's pretty good in terms of compilers, language standard, and platforms. I am in the process of switching to CMake from handrolled Makefiles myself, and with similar feelings. In the coming days as things get squared away with cmake I'll start testing with clang and MinGW-w64.

The library is actually header-only. I am interested in trying C++20 modules.

emsr commented 5 years ago

OK, I've gotten this thing to build and run the tests on Travis-CI. some tests are still failing. Some i know about here, some are mysteriously unique to Travis :-.

KOLANICH commented 5 years ago

GL has much better CI.

emsr commented 5 years ago

I use GitLab at work. I like it... The buit-in ci is very nice there. I'll make a few more mistakes here and then bump over there ;-)