Commit Graph

46 Commits

Author SHA1 Message Date
X512
ef240bfffa makefile-engine: fix for riscv64
Change-Id: I85c18ce812db65606ef6aba64f81b80872618263
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4317
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-05-20 14:05:57 +00:00
PulkoMandy
0604d554e8 userlandfs: compatibility with FUSE 2.9 and FUSE lowlevel API
- Import latest version of files from FUSE 2.9.9 (our last
  synchronization was with 2.7.4)
- Adjust fuse pkgconfig file to use the POSIX error mapper
  automatically, since that's required for all FUSE software
- Implement the lowlevel API in addition to the highlevel one. The
  lowlevel API uses inode numbers to identify files, rather than paths,
  making it a better fit to the userlandfs architecture.

The FUSE 2.x branch is not maintained anymore by FUSE developers,
however, pretty much no one migrated to FUSE 3.x. So it is more
interesting to implement, rather than 3.x.

Confirmed still working with sshfs and curlftpfs.

Example use:

I tested this with github.com/whoozle/android-file-transfer-linux

- Build the fuse library and copy it to ~/config/non-packaged/add-ons/userlandfs/
- Start the server: /system/servers/userlandfs_server aft-mtp-mount
- Connect your Android phone and put it in USB file transfer mode
- Mount the device: mount -t userlandfs -p 'aft-mtp-mount /boot/home/MyPhone -d -o use_ino' ~/MyPhone
- You can now access your phone data

Change-Id: Ic3efda7ffbc33737e6f4958428fb3ec9939ef105
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5198
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-07-19 16:06:29 +00:00
PulkoMandy
364d52c513 userlandfs: add a pkg-config file for the fuse compatibility
This makes it a little simpler to build FUSE software with userlandfs.

Change-Id: I2a7e5494b7dc8db01e4c150de3fcdb99506ce119
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5197
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-04-22 09:43:53 +00:00
Adrien Destugues
d4e4909c6a Jamfile engine: move to a separate repository
It is now at https://review.haiku-os.org/admin/repos/jamfile-engine

This was added in the Haiku repository in the intent of adding it to
release images, a long time ago. Now with the packaging system in place,
there is no reason to host it in the main repo anymore (and it was never
actually packaged anyway).

I also added a recipe at haikuports for it.

Fixes #5360.

Change-Id: I4f2a1529cbadf7af8a16025c30a1332108475807
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4720
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2021-11-11 14:18:04 +00:00
Mark Barnett
072d3935c2 makefile-engine: Fix driver compilation on x86_64
Remove unnecessary -fno-pic and make sure x64 linker output doesn't
put too much space between program header sections. By default, the
GNU linker will align program headers to page boundaries. In Haiku's
x86_64 builds this is 2MB, which the kernel considers to be too
much wasted space.

Fixes #15702

Change-Id: I2adce69b3de74340b05f7c0e8cda44d1b25b69fa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3361
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-10-30 07:41:17 +00:00
Augustin Cavalier
478aa96dd7 Makefile Engine: Add quotes around INSTALL_DIR.
This is the correct solution to #11419; I missed in my original commit
that $(NAME) will already be escaped, and adding quotes double-escaped
it erroneously.
2019-01-23 23:39:46 -05:00
Humdinger
a1f3d79db8 makefile_engine: Revert hrev52738
Reverts hrev52738, as discussed with waddlesplash on IRC.
Re-opens #11419 "makefile_engine's install function fails on paths with blanks"

Turns out this change results in escaped filenames, e.g. "Open Origin Package"
becomes "Open\ Origin\ Package", see
https://github.com/haikuports/haikuports/pull/3580
2019-01-21 16:55:56 +01:00
Augustin Cavalier
f84c53e4ac makefile_engine: Fix installing to a path with spaces in it.
Fixes #11419.
2019-01-09 22:08:01 -05:00
Kacper Kasper
4abe18063a makefile-engine: add .cxx extension handling
Change-Id: I67312f69c71b0653013bd001613dbac5cb464594
Reviewed-on: https://review.haiku-os.org/654
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2018-11-02 21:18:35 +00:00
Augustin Cavalier
427edfcf0d Makefile Engine template: Whitespace cleanup and synchronization.
Also update comment as FULL is O3 not O2, fixing #14396.
2018-08-25 21:28:29 -04:00
Humdinger
b8eeeb21e3 Added makefile_engine documentation to package
Added a note where to find more info on the makefile-engine to the
Makefile template. Added makefile-engine.html to the package.
2017-03-18 20:20:58 +01:00
Jérôme Duval
cdf894ce17 makefile-engine: use $(CC) and $(CXX) instead of gcc and g++.
* so that one can build with clang.
2017-01-24 17:30:36 +01:00
Kacper Kasper
4d83a710f5 makefile-engine: Fix catkey generation.
Fixes #13146.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-01-10 17:21:39 -05:00
François Revol
8a6724a0ee makefile-engine: use grep -a for RDEF parsing
ThemeManager has an UTF-8 copyright symbol in its rdef file.
The chroot set up by haikuporter doesn't export anything that would
hint grep to accept UTF-8 as text, so it freaks out...
So we force it to accept anything as text.
2016-11-05 00:55:53 +01:00
Augustin Cavalier
114bdfb3b4 makefile-engine: fix typo.
That's what I get for not checking the diffs after a merge/rebase/reset...
2015-06-22 13:25:52 -04:00
Augustin Cavalier
a6d8195475 makefile-engine: use .PHONY for "clean". 2015-06-22 13:20:15 -04:00
Augustin Cavalier
9436959d0a makefile-engine: use mkdir -p instead of a complicated expression. 2015-06-22 13:20:12 -04:00
Augustin Cavalier
d17092ceb1 makefile-engine: whitespace / comments cleanup. No functional change. 2015-06-22 13:20:09 -04:00
Augustin Cavalier
cda4988751 Template Makefile: stupid fix to get it working again.
No idea how I escaped this backslash...

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2014-09-29 11:44:50 +13:00
Augustin Cavalier
016ef2de8b makefile_engine: fix wording, rewrap, bump version, capitalize name.
* Improve wording, fix spelling errors, rewrap
* Capitalize name
* Adjust templates to match.

Fixes #11158.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2014-09-18 16:29:44 +02:00
Adrien Destugues
6288f7b453 Allow rdefs in subdirectories in makefile-engine.
Also use finddir instead of hardcoded paths for drivers and locale
catalog helper rules.

Fixes #11115. Thanks to Waddlesplash and Puckipedia for investigating
the issue.
2014-08-13 08:05:13 +02:00
Fredrik Holmqvist
c57c62505e It's -fno-pic not -no-fpic. 2014-06-10 23:09:04 +02:00
Fredrik Holmqvist
ded5af13dc Fix spelling error. 2014-06-10 23:09:03 +02:00
Axel Dörfler
bff2690587 makefile-engine: fixed build of kernel add-ons.
* Actually, hopefully: not yet tested.
* Automatic whitespace cleanup.
2014-03-25 23:36:26 +01:00
Ingo Weinhold
73254051b1 makefile engine: Improve template makefile
Use findpaths to find the makefile-engine to include. This addresses the
remaining aspect of #10011. I.e. the package can now also be installed
in home.
2013-11-21 13:47:53 +01:00
Siarzhuk Zharski
a5862816b1 Jamfile/makefile-engines:replace -nostart with -shared
Starting from our GCC 4.7.3 the shared library -nostart option is not
valid anymore. Replace it with -shared one that works in GCC2 build
environment too.
2013-05-26 12:42:46 +02:00
Siarzhuk Zharski
c7e76f70bc Support x86_64 platform in makefile-engine 2013-01-09 21:51:44 +01:00
Root User
7e2f796c90 Localization support added into Jamfile-engine.
* Added possibility to localize projects driven by Jamfile-engine in
  the easy way. Targets "catkeys", "catalogs", "catlogsinstall",
  "bindcatalogs" introduced.
* This contribution was made by Peter Polacik during working on GCI 2011
  tasks. Thank you!
2011-11-28 13:16:28 +01:00
Siarzhuk Zharski
b6a086e314 * "bindcatalogs" target added to store localization catalogs in the programm
resources instead of separate folder under ~/config/data/locale/catalogs.
	Thanks to Adrien for fixing this feature in the Locale kit!
*	STATIC libraries should have .a extension.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-11-06 13:15:57 +00:00
Siarzhuk Zharski
9de720a4ac * Propose using $(STDCPPLIBS) definition for version-independent linking
of standard C++ libraries (stdc++.r4 <-> stdc++ supc++);
* Force C++ language at preprocessing the sources before localization catkeys
  collecting. It gives a hint for compiler to handle .pre file as C++ one 
  preventing breaking on "unfound" C++ headers. Thanks to Vitaly Diger for 
  pointing it out.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-26 20:12:09 +00:00
Siarzhuk Zharski
6b063167dc Strip the leading and trailing spaces from the makefile-defined variables to make
the engine more input robust.
Fixes #8019


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-10-16 16:02:34 +00:00
Siarzhuk Zharski
4f36bcc2d7 Added support for localization features into makefile-engine
and makefile template. Have fun!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-28 20:38:05 +00:00
Siarzhuk Zharski
4142f7dcef A workaround for compatibility problem, originated from r40300 changes.
Proposed in it "LD ?= gcc" assignment doesn't works both with existing
makefiles and with current version of the makefile template. User must 
define LD in it's makefile to let them work. That is bad.

This workaround uses $origin function to check for redefinition of LD
variable in user's makefile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-28 19:17:55 +00:00
Alexander von Gluck IV
fe0019dda4 allow end users to modify linker used in makefiles, resolves #5375
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-27 22:30:25 +00:00
Philippe Houdoin
8a07a69693 Add input rdef location to include dir, otherwise when rc reads from stdin,
no include dir is defined and import commands will failed then.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 11:58:15 +00:00
Siarzhuk Zharski
f80ea08d71 - prefix for system include paths was changed from -I to -system;
- objects directories are separated for release and debug builds too.

Thanks to Axel for pointing those details!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37178 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-19 20:26:04 +00:00
Siarzhuk Zharski
53c50a9d1a - separate object directories for different compiler versions. This prevent from link errors after compiler was switched between gcc2 and gcc4 versions;
- correspondently use "-iquote" instead of "-I-" that is treated as obsolete by GCC 4. This fixes warning messages mentioned in #6177;
- use $(TARGET) instead of $(OBJ_DIR)/$(NAME) in driverinstall: rules too. Patch by Evgeny Abdraimov.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-19 09:39:04 +00:00
Ryan Leavengood
798865636a Finally add my old Jamfile-engine to the Haiku repo. I think it should mostly
work but I've wanted to refactor it for a while.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-12 01:42:02 +00:00
Axel Dörfler
b4c6a820b9 * Now you can actually use a $(NAME) with spaces in it. Might not work for the
$(INSTALL_DIR) anymore, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-29 21:30:56 +00:00
Axel Dörfler
609a4bc570 * Better handling of spaces in file names.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-29 19:43:57 +00:00
Axel Dörfler
50d73c508f * driverinstall now also depends on "default"
* Added install target using INSTALL_DIR variable.
* Made "clean" and "rmapp" targets whitespace friendly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 16:49:06 +00:00
Axel Dörfler
1ef6dcaceb * Added support for TARGET_DIR.
* Now uses g++ instead of gcc for C++ files.
* Removed mwcc support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-04 16:34:30 +00:00
imker
b2329f081e - added preprocessing of RDEF scripts during resource compilation;
- version of makefile template increased to 2.3 because of adding RDEFS list in previous commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-01 10:26:58 +00:00
Ingo Weinhold
c154b94624 Added haiku_version_glue.o "glue code" containing the Haiku/ABI version
symbols recently introduced. Until init_term_dyn.o is linked into kernel
add-ons, too, we link with haiku_version_glue.o, so we have those symbols
in kernel add-ons as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-21 15:04:37 +00:00
Axel Dörfler
314854708a * Applied patch by Siarzhuk Zharski that adds support for .rdef files to the
makefile-engine. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-16 20:10:01 +00:00
Stephan Aßmus
432ce3738d * Tracked down the mkdepend tool which Ingo used in his updated makefile-engine
which auto-generates dependencies. It was written by Lars Duening for BeOS
  and uses libglob, which is also part of make. To re-use libglob and since
  make is already part of the Haiku tree, I added mkdepend to the bin tools.
* Added Lars Duening's copyright to AboutSystem.
* Added skeleton makefile and makefile-engine to data/develop.
* Added mkdepend and makefile-engine files to the Development optional package.
  It could be argued to move the make bin command there too, from it's current
  location in the HaikuImage file. However, make could be useful to always
  have available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 12:19:41 +00:00