Age | Commit message (Collapse) | Author |
|
The Issue
=======
For a long time now MinGW has been unsupported and unmaintained and at this point,
it looks like something that we should just leave behind and move on.
Why Remove
==========
One of the big motivations for MinGW back in the day is that it was free compared to MSVC which was licensed based.
However, now that this is no longer true we have basically stopped updating the need CMake files.
Along with the CMake files, there are several patches to the extern libs needed to make this work. For example, see:
https://developer.blender.org/diffusion/B/browse/master/extern/carve/patches/mingw_w64.patch
If we wanted to keep MinGW then we would need to make more custom patches to the external libs and
this is not something our platform maintainers are willing to do.
For example, here is the patches needed to build python: https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-python3
Fixes T51301
Differential Revision: https://developer.blender.org/D2648
|
|
|
|
|
|
|
|
We had too many warnings lately... was awaiting that someone would kill them - didn't happen -> goes to my commit ratio! :P
|
|
* Fix BLI_file_touch, used to add one dummy byte ((unsigned char)EOF) to empty files!
* Get rid of static global temp string in WIN32 area (very bad, and useless!).
* Get rid of paranoid NULL checks in WIN32's BLI_gzopen().
* Add non-relative filename asserts to WIN32 file operations too.
* ifdef-out BLI_move and BLI_create_symlink, unused (and the later is not even implemented for windows).
Partly based on patch and points raised by Jason Wilkins (jwilkins) in T32870, thanks!
|
|
The mystery here is, how MSVC could not break on such error? :(
|
|
Missed adding return value in one place.
Thanks a lot to Thomas Szepe for reporting the issue and finding the solution!
Question remains: how could MSVC allow such a code to compile in some cases
(own win64 + scons buildbot win32 were OK with that it seems!).
Crappy compiler, not comming to the rescue of stupid dev...
|
|
Handy to know directly whether a file creation succeeded or not.
Also, made a few more changes in this func, and harmonized a bit win32/*nix versions.
|
|
|
|
Or how to epic fail a fix when working on two different systems.
Or how to increase your commit rate.
|
|
There was two different issues here actually:
* Own (very high) stupidity only gave 8 chars to file name (sic).
* list dir returns dirpaths without a trailing slahs, but expects them to have it it seems. :|
|
|
This is typically an error (& hangs a few seconds on win32), best catch early.
|
|
Also, avoid calling ugly strcmp with '.' or '..', making direct char checks is
much cheaper here!
|
|
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)'
and 'strcmp(foo, bar) == 0' in several places...
|
|
Also, add an optional callback to `BLI_filelist_free()` to allow freein
void poin if needed (consistency with `BLI_filelist_duplicate()`...).
|
|
|
|
Writing compressed files would write the uncompressed blend, then re-compress on-disk.
Use a wrapper for open/write/close commands
|
|
|
|
Sigh, why can't all unix have same includes? :/
|
|
Don't know when this sneaked in, I did wrote that part of the patch on win VM with MSVC2013... :/
Note: letting asside warnings for now, then should not prevent building anyway.
|
|
Current temporary data of Blender suffers one major issue - default 'temp' dir on Windows is never
automatically cleaned up, and can end being quite big when used by Blender, especially when we have
to store per-process data (using getpid() in file names).
To address this, this patch:
* Divides tempdir paths in two, one for 'base' temp dir (the same as previous unique tempdir path),
the other is a mkdtemp-generated sub-dir, specific to each Blender instance.
* Only uses base tempdir when we need some shallow persistance accross Blender sessions - and we always
reuse the same filename (quit.blend...) or generate small file (crash reports...).
* Uses temp sub-dir for heavy files like pointcache or renderEXRs (Save Buffer option).
* Erases temp sub-dir on quit or crash.
To get this working it also adds a working 'recursive delete' to BLI_delete() under Windows.
Note that, as in current code, the 'recover render result' hack-feature that was possible
with SaveBuffer option is still removed. A real renderresult cache feature will be added
soon, though.
Reviewers: campbellbarton, brecht, sergey
Reviewed By: campbellbarton, sergey
CC: sergey
Differential Revision: https://developer.blender.org/D531
|
|
|
|
Opted to keep includes if they are used indirectly (even if removing is possible).
|
|
|
|
|
|
|
|
only ever wrapped printf.
|
|
|
|
replaces BLI_join_dirfile when the dir and the destimation were the same.
|
|
character. also remove some dead code (return directly after return).
|
|
characters on Windows.
Replaced some uses of stat() by BLI_stat() to properly handle such filepaths.
|
|
remove MEM_sys_types.h which was a duplicate.
|
|
|
|
compressed files we were not passing the full wide char path to zlib, so not
all file names worked. Now we use gzopen_w available in new zlib versions.
Patch by Tamito Kajiyama, I added an extra check for the zlib version so it
keeps compiling with older versions for now.
For platform maintainers:
Part of this commit are zlib 1.2.8 libraries for windows 32 bit. We still
need update libraries for windows 64 bit and mingw. There's a readme.txt
and build.bat included with instructions on how to build.
|
|
|
|
|
|
where possible.
also found unintentionally defined enum/struct variables that where only meant to be defining the type.
|
|
Problem was the new usage of access() on Windows, this doesn't accept X_OK. Also wrapped _waccess so that UTF-8 paths work.
|
|
the file even if renaming failed.
- found when testing recursive_operation().
|
|
from Lawrence D'Oliveiro (ldo)
Fix potential memory leaks in recursive_operation while simplifying cleanup logic.
|
|
|
|
path_util_split_dirstring_2.patch, path_util_split_dirstring_3.patch
from Lawrence D'Oliveiro (ldo)
Get rid of BLI_splitdirstring, replace with calls to BLI_split_dirfile, BLI_split_dir_part and BLI_split_file_part as appropriate.
|
|
from Lawrence D'Oliveiro (ldo)
More efficient implementation of BLI_file_is_writable using access(2) instead of actually opening file.
|
|
from Lawrence D'Oliveiro (ldo)
Add comments and use of bool type in fileops.c
|
|
path_util_1.patch from Lawrence D'Oliveiro (ldo)
|
|
|
|
now blenlib/BLI doesn't depend on any blenkern/BKE functions,
there are still some bad level includes but these are only to access G.background and the blender version define.
|
|
wm_window_title.
|
|
Used the same hack as BLI gzip is using -- calculate short path and
send it to OCIO library.
|