This is the source code for the Perforce command line and API. See LICENSE for all licensing information.
Outside of a C/C++ compiler you will need Jam (Just Another Make), a build system written by Christopher Seiwald. A source bundle can be found here:
https://swarm.workshop.perforce.com/projects/perforce-software-jam/download/main/jam-2.6.zip
From the root of the p4 source run:
jam p4
Jam may ask you to specify an OS version if it cannot determine it. For example on OS X running 'jam p4' will return:
Set OSVER to 104, 105, or 106 for MACOSX
To set any options in Jam use the '-s' flag. For the example above you would run:
jam -sOSVER=106 p4
Builds will be placed in a directory called 'p4-bin/bin.[OS][OSVER]' at the same level as your p4 directory.
If you wish to build p4 with support for SSL servers you will need to add '-sSSL=yes' to the Jam call and place builds of libssl and libcrypto from OpenSSL 1.0.1g into the 'p4-bin/lib.[OS][OSVER]' where 'p4-bin' is the same directory mentioned above.
From the root of the p4 source run:
jam -sPRODUCTION=1 p4api.tar
As with building p4, Jam may ask you to specify an OS version.
# Perforce Open Source Command Line and API
This is the source code for the Perforce command line and API. See LICENSE
for all licensing information.
## Dependencies
Outside of a C/C++ compiler you will need Jam (Just Another Make), a build system
written by Christopher Seiwald. A source bundle can be found here:
https://swarm.workshop.perforce.com/projects/perforce-software-jam/download/main/jam-2.6.zip
## To build the Perforce command line interface
From the root of the p4 source run:
jam p4
Jam may ask you to specify an OS version if it cannot determine it. For example
on OS X running 'jam p4' will return:
Set OSVER to 104, 105, or 106 for MACOSX
To set any options in Jam use the '-s' flag. For the example above you would run:
jam -sOSVER=106 p4
Builds will be placed in a directory called 'p4-bin/bin.[OS][OSVER]' at the same level as your p4 directory.
## Building with SSL server support
If you wish to build p4 with support for SSL servers you will need to add '-sSSL=yes'
to the Jam call and place builds of libssl and libcrypto from OpenSSL 1.0.1g
into the 'p4-bin/lib.[OS][OSVER]' where 'p4-bin' is the same directory mentioned above.
## To build the Perforce API
From the root of the p4 source run:
jam -sPRODUCTION=1 p4api.tar
As with building p4, Jam may ask you to specify an OS version.
| # | Change | User | Description | Committed | |
|---|---|---|---|---|---|
| #7 | 15901 | Matt Attaway | Clean up code to fit modern Workshop naming standards | ||
| #6 | 12342 | Matt Attaway | Note need for disabling smartheap on Windows | ||
| #5 | 12255 | Matt Attaway | Add an example of building on Cygwin | ||
| #4 | 12191 | Matt Attaway | Toss a readme in at the root of the project so it displays nicely in the Workshop | ||
| #3 | 12188 | Matt Attaway | Move 'main' p4 into a release specific directory in prep for new releases | ||
| #2 | 10080 | Matt Attaway | Update the release readme to point to proper Jam version | ||
| #1 | 9129 | Matt Attaway | Initial commit of the 2014.1 p4/p4api source code |