[#7660] Solaris 10 x86 support (Makefiles)
Hopefully it will not mess up anything for anyone else. I removed
some hardcoded static libs and made NAN_*_LIB definitions so they could be
overridden, to allow greater flexability.
Let me know if there are any problems/questions.
Kent
file I modified for the other patch. So I'm being bad and combining them
together.
First one is added -lXi to LLIBS for solaris. (Makes it so it compiles
again with the tablet stuff added)
Second one is the real commit its an expansion of patch #4458
This adds optional ICONV lining to support international fonts in the
file selector. Thanks to wisit venita (dripstone) I mostly just cleaned
it up a little and made it optional via defines.
Its currently turned off for all platforms except for solaris on scons.
For scons see your config/(platform).py file look for WITH_BF_ICONV
For the Makefiles look at source/nan_definitions.mk look for WITH_ICONV
(basically you'll want to export WITH_ICONV=true and possibly set some other
stuff)
Let me know if there are any problems.
Kent
--
mein@cs.umn.edu
Fixing compile for Windows mingw builds with cygwin make and scons.
Used SHGetFolderPath instead of SHGetSpecialFolderPath which is
better supported for mingw.
Thanks to Ralf Hoelzemer for the tip and the patch.
Let me know if any problems persist, I'll try to fix then.
--- Andrea
If "export NAN_USE_FFMPEG_CONFIG=true" is added to user-def.mk,
the system executes the ffmeg-config program to set values
for NAN_FFMPEG (--prefix), NAN_FFMPEGLIBS (--libs avcodec avformat),
and NAN_FFMPEGCFLAGS (--cflags). Only one used so far is the
NAN_FFMPEGLIBS for linking on linux (if requested to do so).
Current default is not to do this.
always statically (you have to force it to build a dynamic library) the
resulting binary is redistributable.
The code is made ffmpeg-version independent using #ifdef's.
These should make it so that other people can compile with OpenEXR support.
(I also added the OPENAL fix erwin commited to bf-blender since I
need it for my machine, and this syncs up the file)
Kent
add export USE_OSX10.4STUBS = 1 to your user-def.mk if compile fails
on missing definitions like _printf$LGDB
those are parts of the 10.4 sdk.
This is interim fix as scons dont need this and we should be able
to acheive same result with make. investigating further on this.
as there is a conflict between openal and sdl (when compiled with cdrom
support), i had to disable support for cd playing using sdl on os x
for the time being.
extern/ode/dist/ode/test/test_ode.cpp:
- Don't include <ieeefp.h> on sparc linux, it doesn't exist.
extern/ode/Makefile:
- While hacking on ode, get rid of that annoying infinite rebuild
source/Makefile:
- Define a default BINTARGETS (just blenderdynamic) for linux, individual archs
can override/add to that if they so please
source/nan_link.nmk:
- Add a sparc64 arch target to the linux section of nan_link.mk, using the same
options as powerpc
After the first ode problem, the build completed all but the linking of a
blender binary, because there wasn't any target defined!
On the rebuilding: The usersettings would have a newer date than targets
depending on it, so it would rebuild entirely. I haven't really fixed this, but
isolated it to the platforms where usersettings need to be moved around (darwin
and windows). FBSD patches the usersettings, so it might still happen there. I
didn't bother with a proper fix, as it looks like we're moving to scons soon.
I'm amazed no one got annoyed enough before to take care of this.
* moved references to libSDL out of ifeq($(INTERNATIONAL), true) (win32)
and ifeq($(WITH_FREETYPE2),true) (irix) conditionals in source/Makefile
* look for sdl in $(LCGDIR)/sdl if sdl-config isn't found
thanks to LarstiQ for doing most of the work
size of this;
Finally, the Sequencer audio support and global audio/animation sync stuff!
(See http://intrr.org/blender/audiosequencer.html)
Stuff that has been done:
./source/blender/blenloader/intern/writefile.c
./source/blender/blenloader/intern/readfile.c
Added code to make it handle sounds used by audio strips, and to convert
Scene data from older (<2.28) versions to init Scene global audio settings
(Scene->audio) to defaults.
./source/blender/include/BSE_seqaudio.h
./source/blender/src/seqaudio.c
The main audio routines that start/stop/scrub the audio stream at
a certain frame position, provide the frame reference for the current
stream position, mix the audio, convert the audio, mixdown the audio
into a file.
./source/blender/makesdna/DNA_sound_types.h
Introduced new variables in the bSound struct to accomodate the sample
data after converted to the scene's global mixing format (stream, streamlen).
Also added a new flag SOUND_FLAGS_SEQUENCE that gets set if the Sound
belongs to a sequence strip.
./source/blender/makesdna/DNA_scene_types.h
Added AudioData struct, which holds scene-global audio settings.
./source/blender/makesdna/DNA_sequence_types.h
Added support for audio strips. Some variables to hold Panning/Attenuation
information, position information, reference to the sample, and some flags.
./source/blender/makesdna/DNA_userdef_types.h
./source/blender/src/usiblender.c
Added a "Mixing buffer size" userpref. Made the versions stuff initialize
it to a default for versions <2.28.
./source/blender/makesdna/DNA_space_types.h
./source/blender/src/filesel.c
Added a Cyan dot to .WAV files. Any other suggestions on a better color? :)
./source/blender/src/editsound.c
Changes (fixes) to the WAV file loader, re-enabled some gameengine code that
is needed for dealing with bSounds and bSamples.
./source/blender/src/editipo.c
./source/blender/src/drawseq.c
./source/blender/src/editnla.c
./source/blender/src/space.c
./source/blender/src/drawview.c
./source/blender/src/renderwin.c
./source/blender/src/headerbuttons.c
- Created two different wrappers for update_for_newframe(), one which scrubs
the audio, one which doesn't.
- Replaced some of the occurences of update_for_newframe() with
update_for_newframe_muted(), which doesn't scrub the audio.
- In drawview.c: Changed the synchronization scheme to get the current audio
position from the audio engine, and use that as a reference for setting
CFRA. Implements a/v sync and framedrop.
- In editipo.c: Changed handling of Fac IPOs to be usable for audio strips as
volume envelopes.
- In space.c: Added the mixing buffer size Userpref, enabled audio scrubbing
(update_for_newframe()) for moving the sequence editor framebar.
./source/blender/src/editseq.c
Added support for audio strips and a default directory for WAV files which
gets saved from the last Shift-A operation.
./source/blender/src/buttons.c
Added Scene-global audio sequencer settings in Sound buttons.
./source/blender/src/sequence.c
Various stuff that deals with handling audio strips differently than
usual strips.
Florian Eggenburger).
Full instructions are in doc/README.windows-gcc.
Main differences from Florian's patch:
- the 'lib' dir should now be the same level as the 'blender' dir (rather
than being a subdir of 'blender'). This is consistent with the other
platforms that bf-blender supports (tuhopuu will also adopt this convention
hopefully soon).
- the script 'free_windows-env.mk' is no longer needed ... see the
docs about how this is overcome (again, tuhopuu will hopefully
also follow this route soon).
- the dlltool dir has it's own Makefile that builds all of the
needed stub libraries from the dll's in cvs.
#include <QuickTime/Movies.h> instead of #include <Movies.h> on OS X to
avoid having to specify the full path to the QT headers in the Makefiles
#undef NDEBUG on OS X to avoid errors about ID being declared twice
enable support for QuickTime in the original Makefiles on OS X