-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.developer
61 lines (49 loc) · 2.43 KB
/
README.developer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
0) CODING STYLE
Please read README.coding
0.5) SVN
Please read README.svn for a few tricks about working with svn
1) MAILING LIST
Please join at https://lists.sourceforge.net/lists/listinfo/plfs-devel
2) TRACKING CODE CHANGES
All developers should pay attention to what others are doing to the code.
More on this below. But all developers should either subscribe to the RSS
feed at:
http://sourceforge.net/export/rss2_keepsake.php?group_id=261435
or set something up at sourceforge to email you when code is committed.
3) COMMITTING SMALL CODE CHANGES TO TRUNK
For small changes such as changes to the tools that don't change anything in
the library or cosmetic stuff or changes to documentation, just go ahead and
commit to the trunk. The other developers will see this and can comment if
they want.
4) COMMITTING LARGE CODE CHANGES TO TRUNK
All other coding efforts that aren't small code changes must be vetted on the
mailing list before being committed. Code in a branch and send the branch
address to the mailing list. In the email, describe the motivation for the
change, and describe the decisions you made about how to implement your
changes. Allow three business days before merging into the trunk.
4) AUTOGEN
./autogen.sh is not your friend. Very strict requirements. Makefile.tools
is your friend. Do 'make -f Makefile.tools' to install all the necessary
build tools into ./buildtools/bin. Then prepend that to your PATH and
then ./autogen.sh will just work. Except sometimes recently Makefile.tools
doesn't work always. Very annoying. In this case, just find one machine
where you have all the right versions and then use sshfs from that machine
to the target machine to do the autogen
5) CONFIGURE
./easyconf.sh is your friend. Here are the environment variables I set:
setenv PLFS_WANT_ALL_DEBUG 1
setenv PLFS_WANT_DEBUG_FLAGS 1
setenv PLFS_WANT_VERBOSE_CONF_OUT 1
setenv PLFS_WANT_ADIO 0
# treat all build warnings as errors. No build warnings!
setenv CFLAGS '-Wall -Werror'
setenv CXXFLAGS '-Wall -Werror'
Notice especially the bottom two. We want warning free code so print out
all warnings and treat them as errors.
6) MAKEFILES
Don't edit Makefiles directly. Edit the Makefile.am files and then redo autogen and configure
7) DEBUGGING WITH MLOG
Please read README.mlog
8) valgrind on OS X
You will need to run dsymutil on the plfs binary and libplfs.0.dylib to get
debug symbols available for valgrind so it can report line numbers.