Commit Graph

302 Commits

Author SHA1 Message Date
Ingo Weinhold
57ab8f6b30 Just go with the portable code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-15 18:23:28 +00:00
Ingo Weinhold
ee074918de Mostly aesthetical change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-15 18:13:39 +00:00
Travis Geiselbrecht
b9a5b9a6ee fix the build on darwin:
-fs_shell was using weak aliases, which is apparently not supported on the darwin toolchain 
	(or it's supported in some different way)
-remove building strl* routines for some of the host tools, since that already exists in libSystem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-14 05:17:59 +00:00
Ingo Weinhold
cad7120f0c __attribute__(constructor) doesn't seem to work with gcc 2.95.3, so we
invoke driver_settings_init() manually now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-26 14:32:40 +00:00
Axel Dörfler
db8890ba1d * The mutex was obviously never initialized, and therefore mutex_unlock() panicked
here when trying to build Haiku.
* Also probably fixed a memory hole, at least how BFS is using delete_driver_settings();
  it might be a general problem of the implementation with regards to parse_driver_settings_string(),
  though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 14:38:59 +00:00
Axel Dörfler
e25a15c53b This fixes the build with GCC 2.95.3; hopefully it will work with GCC 4 as well as it looks like a compiler bug (at least I would guess typeof() is supposed to propagate the C linkage as well).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 08:24:25 +00:00
Ingo Weinhold
eedc15536c Added driver settings support to the FS shell.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 05:07:34 +00:00
Ingo Weinhold
362d99e715 Added fssh_read/write() implementation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 05:06:02 +00:00
Ingo Weinhold
53a79a4cde Patch by Morgan Howe: Support for building on Mac OS X. It should now be
possible to build a complete Haiku image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21171 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-19 15:01:11 +00:00
Ingo Weinhold
39bdbadf39 If the boot code couldn't be found in makebootable's resources, it tries
to load it from an attribute ("BootCode"). On Darwin we write the boot
code into this attribute. This should solve the problem that writing
resources into the makebootable file renders it not executable there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21170 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 17:33:21 +00:00
Ingo Weinhold
64ceaa002d Build addattr as a build tool as well. Needed for the new AddFileDataAttribute
rule.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 16:55:33 +00:00
Ingo Weinhold
6dcd0ccf23 Patch by Morgan Howe (slightly modified): Several changes to support
building on Mac OS X (Darwin). A problem with makebootable remains.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-18 15:59:04 +00:00
Ingo Weinhold
633a699447 Since I haven't got enough information to solve the missing LLONG_MAX
issue on some Linux distros by now, here's a work-around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21056 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 13:43:55 +00:00
Ingo Weinhold
e23824d781 Surprising how much gcc 4 compilers on Linux differ. Another attempt to
make both gcc 2.95.3 and the plethora of gcc 4s happy: Typedefed
struct fssh_stat to fssh_struct_stat, thus hopefully avoiding spurious
errors concerning clashes with the function or regarding namespacing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 13:41:12 +00:00
Ingo Weinhold
5ddfffd44a Removed left over debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 13:48:07 +00:00
Ingo Weinhold
21da033912 Typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-06 12:32:45 +00:00
Ingo Weinhold
047b4d3cc8 Patch by Samuel Rodriguez Perez (slightly modified): Make the new
bfs_shell build on FreeBSD. ioctl() is defined in a non-standard header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 13:16:00 +00:00
Ingo Weinhold
19d7a2a162 * Moved the syscalls into the FSShell namespace, so that they don't
collide with the functions defined in libroot_build.so.
* On BeOS incompatible platforms fssh_open() and fssh_close() use the
  libroot_build.so _kern_open() and _kern_close() respectively, so that the
  attribute support works also when using the generic attribute
  emulation.
* Use fssh_open()/fssh_close() instead of open()/close() for the cp
  command, so that we get attribute support on BeOS incompatible
  platforms when the generic attribute emulation is used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 16:59:10 +00:00
Ingo Weinhold
8dcb250c8a Thou shall not leave a blank line between copyright header and header
guard.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20976 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:26:29 +00:00
Ingo Weinhold
cc70cbe297 Reduced number of unused vnodes the VFS keeps around. We were hitting
the maximal number of (emulated) semphores on Linux before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 14:09:03 +00:00
Ingo Weinhold
84498b0ddc Incorrect vfs_put_vnode(). Missed that one when changing from
vfs_get_vnode() to vfs_lookup_vnode(). 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:45:17 +00:00
Ingo Weinhold
46a92976fd Missed this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:13:36 +00:00
Ingo Weinhold
ca6586d9a3 Changed grist.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:10:52 +00:00
Ingo Weinhold
d0a2ff1303 Obsolete file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 13:07:54 +00:00
Ingo Weinhold
1fd66793e6 Link against libhaikucompat_build.a and the STL library.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:26:19 +00:00
Ingo Weinhold
a3615ef1e2 * Fixed build under BeOS.
* Added "sync" command.
* The input_loop() notifies the external command client also, if parsing
  the command line failed or the command didn't exist. It doesn't no longer
  try do so, when in interactive mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:24:26 +00:00
Ingo Weinhold
655195fec9 Don't use headers/build headers under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:20:17 +00:00
Ingo Weinhold
c3c6ad0a0b BeOS build fixes:
* On BeOS compatible host platforms we must not include
  BeOSBuildCompatibility.h, but HaikuBuildCompatibility.h.
* Fixed errno usage in command_cp.cpp.
* Fixed fssh_ioctl().
* fssh_set_sem_owner() doesn't invoke BeOS's set_sem_owner() anymore or
  otherwise the FS's semaphores are assigned to the kernel.
* Commented out <string.h> functions that don't exist under BeOS (and aren't
  used anyway).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:19:19 +00:00
Ingo Weinhold
4b32170efd Work-around for an obscure gcc 2.95.3 bug: It complained about ambiguity
of fssh_stat struct and function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:09:47 +00:00
Ingo Weinhold
b245b1a838 Missing POSIX macro under BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:04:26 +00:00
Ingo Weinhold
6c19139d0e Fixed external command related code. Increased the command line length to
100 KB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:02:13 +00:00
Ingo Weinhold
aeb215184f Also quote the quoted string characters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 17:00:43 +00:00
Ingo Weinhold
dac7faad8d Added volume initialization support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-29 07:22:22 +00:00
Ingo Weinhold
f6233d2330 * Quieted down success output.
* Added non-interactive (external commands) support. The BeOS
  implementation needs some more work; well, the whole FS shell will
  probably have build issues on BeOS ATM.
* Added reasonably complete argument processing in main(). Options are
  similar to the old FS shell.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:47:03 +00:00
Ingo Weinhold
3b8715d804 Provide a way to convert FS shell error codes to host platform error
codes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 23:40:04 +00:00
Ingo Weinhold
2842773aa5 Added support for changing the host platform cwd to the cd command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 21:34:54 +00:00
Ingo Weinhold
fd62d01f27 Add cp command source file too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:48:52 +00:00
Ingo Weinhold
1137bb03cc Added cp command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:47:50 +00:00
Ingo Weinhold
a9a4bc6e1c Copy'n'paste oversight.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 18:46:58 +00:00
Ingo Weinhold
4f7504e31e * The command functions return actual error codes now.
* Added commands ln, mkdir, mkindex, rm.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 13:13:30 +00:00
Ingo Weinhold
c94089f5db Use vfs_lookup_vnode() instead of vfs_get_vnode() when creating a file
cache, so we don't run into a "vnode ... is not becoming unbusy"
problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:56:19 +00:00
Ingo Weinhold
a49b91c957 Segfault when panic()ing -- simplifies debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:54:41 +00:00
Ingo Weinhold
f7d4785d7a Fixed debug build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:53:22 +00:00
Ingo Weinhold
ada99c21af * Init kernel IO context.
* Added command management, an interactive input loop, and a few basic
  commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-28 10:33:23 +00:00
Ingo Weinhold
90c0876839 FS shell changes:
* Added basic built-in module support.
* Added rootfs.
* Added "kernel" initialization.
* Exposed the FS syscalls.
* Mounting/unmounting the FS works now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 22:37:01 +00:00
Ingo Weinhold
4fc054f504 POSIX strdup() is not required to handle a NULL argument gracefully (and
it doesn't under Linux), on BeOS it has to, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 22:26:04 +00:00
Ingo Weinhold
c391f84b2c * Prepared the BFS sources to be used with the new FS shell:
- Moved all inclusions of system headers into a new
    system_dependencies.h header, which conditionally either includes
    these or the FS shell headers.
  - Fixed compiler warnings related to printf-like functions (int32 is
    int, not long on non-BeOS platforms).
* Build a new bfs_shell. Compiles and links, but does nothing ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:25:49 +00:00
Ingo Weinhold
a38a92c955 Beginnings of a new, better portable FS shell with Haiku FS interface.
Doesn't do anything ATM, but already provides the required system
interface (VFS, caches, POSIX functions).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 12:17:22 +00:00
Ingo Weinhold
6b533670b9 Fixed build on R5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:37:36 +00:00
Ingo Weinhold
402d77f655 Small tool to update the haiku revision in a special haiku revision
section of an ELF object. Probably won't build under BeOS yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 16:30:26 +00:00