Previous Next

Place File Syntax

The place file is a text file that BinPlace reads to determine the class subdirectories associated with a file it is placing.

The path and name of this file are specified by the BINPLACE_PLACEFILE environment variable or the -p PlaceFile command-line parameter. If neither of these is used, the default is \tools\placefil.txt.

A place file can have any number of lines. Each line lists a file and a class subdirectory. Listing a file does not cause BinPlace to take any action. Rather, whenever BinPlace is supplied a file name on the command line, it will open the place file to see if that file is listed. If it is, BinPlace will use the class subdirectory specified in the place file.

Each line of a place file has the same format:

FileName    Class[:Class[...]    [ ; Comment ] 

The FileName field must begin the line. FileName and Class must be separated by one or more spaces. If a semicolon appears anywhere on the line, everything to the right of it is treated as a comment.

Blank lines and comment lines begining with semicolons are permitted.

These fields are explained as follows:

Parameters

FileName
Specifies the name of a file that BinPlace may act on. FileName must include the file extension, but it must not include the file path. (File paths will be specified on the BinPlace command line.)
Class
Specifies the class subdirectory used for this file. Unless the -y or -:DEST command-line switches are used, BinPlace will place a file in a directory created by taking the root destination directory, appending the class subdirectory, and then appending the file-type subdirectory. See BinPlace Destination Directories for full details.

Class should neither begin nor end with a backslash. Directory names must not contain spaces. There are two special strings that can be used within a Class value: retail and an asterisk ( * ). Their effect is different on executable files and on symbol files.
String Effect On Executable Files Effect On Symbol Files
retail Ignored. This directory level will be skipped. Treated as a literal directory named retail.
* On an x86 computer: i386.
On an Itanium-based computer: ia64.
On an AMD x86-64 computer: amd64.
Ignored. This directory level will be skipped.

If you want a file to be placed in multiple locations, you can include multiple instances of Class, separated by colons. There must not be spaces between the directories and the colons. For example:

someprogram.exe   dir1\dir2\dir3:otherdir1\otherdir2   ; To two locations
Comment
Any text after a semicolon will be ignored by BinPlace.