BeOS - 1st Edition - ISBN: 9781558605329, 9780080500003

BeOS

1st Edition

Porting UNIX Applications

Authors: Martin Brown
eBook ISBN: 9780080500003
Paperback ISBN: 9781558605329
Imprint: Morgan Kaufmann
Published Date: 10th August 1998
Page Count: 496
Tax/VAT will be calculated at check-out

Institutional Access


Description

The BeOS is the exciting new operating system designed natively for the Internet and digital media. Programmers are drawn to the BeOS by its many state-of-the-art features, including pervasive multithreading, a symmetric multiprocessing architecture, and an integrated multithreaded graphics system. The Be engineering team also built in many UNIX-like capabilities as part of a POSIX toolkit. Best of all, the BeOS runs on a variety of Intel architectures and PowerPC platforms and uses off-the-shelf hardware.

This book explores the BeOS from a POSIX programmer's point of view, providing a comprehensive and practical guide to porting UNIX and other POSIX-based software to the BeOS. BeOS: Porting UNIX Applications will help you move your favorite UNIX software to an environment designed from the ground up for high-performance applications.

Key Features

  • Supports BeOS Release 3

  • Provides a step-by-step guide to the porting process from downloading the source code to installing the application

  • Explains how to port off-the-shelf utilities like Emacs and Perl as well as your own programs and tools to the BeOS

  • Offers a comprehensive POSIX reference for anyone who is porting or writing software for the BeOS

  • Furnishes a simple catalog of tools and features available on the BeOS

Readership

UNIX programmer and programmers working on other POSIX compliant systems interested in porting applications from those systems to the BeOS.

Table of Contents

Part I Preparation

1. Chapter 1 - Introduction to the Porting Process

1.1. Life Cycle of a Port

1.2. Choosing an Application to Port

1.3. Difficulties with the BeOS

2. Chapter 2 - BeOS Structure

2.1. Basic Structure

2.2. Applying UNIX structure to the BeOS

2.3. Missing links and Other Goodies

3. Chapter 3 - Were not in UNIX Anymore

3.1. The BeOS's Concept of Users

3.2. The BeOS's Concept of Groups

3.3. Effects on Porting

3.4. Processes

4. Chapter 4 - Useful Tools

4.1. bash

4.2. grep

4.3. sed

4.4. less

4.5. touch

4.6. tr

4.7. uniq and sort

4.8. Editors

5. Chapter 5 - Sources

5.1. Getting the Sources

5.2. Working with Archives

5.3. Archive Contents

6. Chapter 6 - Revisions and Backups

6.1. Revision Control System (RCS)

6.2. Concurrent Version System (CVS)

6.3. Using diff for Revisions

6.4. patch

6.5. Backups

Part II The Porting Process

7. Chapter 7 - Getting Started

7.1. Reading the Documentation

7.2. Identifying the Build Type

7.3. Identifying the Build Process

8. Chapter 8 - Configuring the Package

8.1. Preparation

8.2. Expect to Change

8.3. Using #include in the Configuration Process

8.3. Using the #ifdef Macro

9. Chapter 9 - Makefiles

9.1. Principles of a Makefile

9.2. Anatomy of a Makefile

9.3. Execution Sequence

9.4. Coping with Errors

10. Chapter 10 - Configuration Scripts

10.1. Running under the BeOS

10.2. Faking Options

10.3. Manual Adjustments

10.4. Testing the Configuration

10.5. Cheating

11. Chapter 11 - Smart Compilers

11.1. Following the Script

11.2. Faking Options

11.3. Hand Compilation

11.4. Generating a Makefile

12. Chapter 12 - bison and flex

12.1. yacc and bison

12.2. lex and flex

13. Chapter 13 - The Compiler and Linker

13.1. How the Compiler and Linker work

13.2. Preprocessing

13.3. Optimization

13.4. Debugging

13.5. Header Files

13.6. Libraries

13.7. Making Libraries

13.8. Profiling

14. Chapter 14 - The Debugger

14.1. The BeOS Debugger

14.2. The Symbolic Debugger

14.3. Manual Debugging

15. Chapter 15 - Building the Package

15.1. Keeping a Log

15.2. Storing Output

15.3. Compilation Errors

15.4. Compilation Warnings

15.5. Linking Errors

15.6. Installation

15.7. Preparing to Test the Build

15.8. Checking the Created Files

15.9. Creating your Own Harness

15.10.Using the Supplied Harness

15.11.Pointers to Problems

16. Chapter 16 - Overview of BeOS Programming

16.1. Program Styles

16.2. Be Style

16.3. UNIX Style

17. Chapter 17 - POSIX

17.1. What is POSIX

17.2. POSIX and UNIX

17.3. The BeOS and POSIX

17.4. Effects on Porting

18. Chapter 18 - Kernel Support

18.1. Datatypes

18.2. Resource Limits

18.3. Memory Handling

18.4. Users and Groups

18.5. Processes

18.6. Signals

18.7. Interprocess Communication

18.8. System Calls

18.9. Regular Expressions

18.10. Non-local Jumps

18.11. Moving and Copying Memory

18.12. String Handling

18.13. Variable Argument Lists

19. Chapter 19 - Time Support

19.1. Standard Variables and Defines

19.2. Time Zones

19.3. Time Calculations

19.4. Getting the Time

19.5. Setting the Time

19.6. Timers

19.7. System Information

20. Chapter 20 - Terminals and Devices

20.1. Using I/O Devices

20.2. Working with Terminals

20.3. Device Drivers

21. Chapter 21 - Files and Directories

21.1. General Functions

21.2. Streams

21.3. UNIX File Descriptors

21.4. Utility Functions

21.5. File Systems

21.6. select and poll

22. Chapter 22 - Networking

22.1. Sockets

22.2. Utility Functions

22.3. Using select

22.4. Remote Procedure Calls (RPCs)

23. Chapter 23 - Summary

24. Appendix A - Resources

24.1. FTP

24.2. Web Sites

24.3. Mailing Lists and

Newsgroups

24.4. CD-ROMs

24.5. Compatibility and Utility Software

25. Appendix B - Releasing the Software

25.1. Checking the Compilation

25.2. Packaging

25.3. Adding a License

25.4. Distribution

25.5. Contacting the Author

Details

No. of pages:
496
Language:
English
Copyright:
© Morgan Kaufmann 1998
Published:
Imprint:
Morgan Kaufmann
eBook ISBN:
9780080500003
Paperback ISBN:
9781558605329

About the Author

Martin Brown

Martin C. Brown is one of the most active programmers outside of Be porting UNIX applications to the BeOS. He has worked with most varieties of UNIX, Mac, and Windows systems, doing everything from software development to system administration. When he’s not on the job as an IT manager, he is enthusiastically involved in the Be development effort.