Comments (17)
Odd, it's building for me on OSX and linux ok: https://travis-ci.org/projectM-visualizer/projectm/builds/350333601
Down below it should include:
#ifdef __linux__
#ifdef USE_GLES1
#include <GLES/gl.h>
#else
#include <GL/gl.h>
#include <GL/glx.h>
#endif
#endif
May I ask what system this is?
from projectm.
May I ask what system this is?
FreeBSD. I am trying to update the port.
from projectm.
Okay, I'm assuming #ifdef __linux__
isn't the best check for FreeBSD. What would be a better define to check? Does it need to be changed everywhere?
Also, do you know if Travis supports FreeBSD? Would be good to have CI for it.
from projectm.
Also may need to add a BSD check in configure.ac under "Freedom":
https://github.com/projectM-visualizer/projectm/blob/master/configure.ac#L66
from projectm.
Please let me know how I can assist!
from projectm.
@yurivict peep #37
Builds for me ok
from projectm.
@revmischa The problem is gone with this patch.
One thing though is that I personally would've used:
#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
This catches all linuxes and all BSDs.
__unix__
might catch some systems like MacOS or CygWin where we don't know if this should be changed.
from projectm.
Or maybe GL/gl.h
should be included unconditionally, because the use is unconditional?
from projectm.
It appears to build on OSX: https://travis-ci.org/projectM-visualizer/projectm/builds/351963692
They all have:
#ifdef __APPLE__
#include <OpenGL/gl.h>
#endif
However. Maybe it should be:
#elseif __unix__ ...
?
from projectm.
I would do:
#ifdef __APPLE__
#include <OpenGL/gl.h>
#endif
#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
#include <GL/gl.h>
#endif
It is easier to read (no elseifs), and doesn't make assumptions about systems we aren't sure about.
from projectm.
This could probably be cleaner, give me a minute to examine.
from projectm.
is defined() a preprocessor keyword or something? i've never come across it before
from projectm.
yes it is, about to upload a patch with that as an example, but I can't build this today so maybe it can be improved upon.
from projectm.
thanks! if one of you wants to open a new PR feel free.
from projectm.
also see the configure.ac link i added earlier.. are there any flags needed for linking on freebsd? apple needs -framework CoreFoundation and limux needs -ldl. idk what bsd needs.
from projectm.
There is no -ldl on BSDs.
from projectm.
Closing in favour of #41
from projectm.
Related Issues (20)
- Command Flags not working in homebrew version HOT 3
- Delayed beat detection HOT 3
- Fails to build with -DENABLE_SYSTEM_GLM=ON: fatal error: 'omptl/omptl' file not found HOT 1
- warning: implicit conversion from 'const typename basic_string<char, char_traits<char>, allocator<char>>::size_type' (aka 'const unsigned long') to 'int' changes value from 18446744073709551615 to -1 HOT 5
- Update config.guess to support riscv64 platform HOT 5
- Faulty include in ProjectM.hpp / projectM-4.pc HOT 4
- Support Poweramp Visualizer (PowerMilk) spectrum bars effect HOT 3
- Discussion: Current State of Release tags HOT 2
- Apple TV implementation HOT 4
- Warp/composite mesh U/V coordinates cause issues with some preset shaders HOT 4
- Milkdrop 1.4 presets or only some effects render upside down
- Implement random texture selection
- Shader-based smooth transitions between presets HOT 5
- Add a project GitHub page with extensive Sphinx-generated documentation HOT 1
- Add an error reporting and general logging API
- Support Milkdrop user sprites
- Nintendo Switch Support HOT 3
- Add the ability to control the actual running time from the outside. HOT 1
- Some way to cap how epileptic presets can be HOT 18
- White screen on Soft Cuts HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from projectm.