From 663631725ee2d633d9ec5821cd48953ffd188d00 Mon Sep 17 00:00:00 2001 From: ftrapero Date: Tue, 27 Jun 2017 12:08:38 +0200 Subject: Squashed 'nx-X11/extras/Mesa_6.4.2/' content from commit 475b1f7 git-subtree-dir: nx-X11/extras/Mesa_6.4.2 git-subtree-split: 475b1f7b56fa36ef4f3b22a749f88a98ddc0d502 --- docs/devinfo.html | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 docs/devinfo.html (limited to 'docs/devinfo.html') diff --git a/docs/devinfo.html b/docs/devinfo.html new file mode 100644 index 000000000..9fcd8cf53 --- /dev/null +++ b/docs/devinfo.html @@ -0,0 +1,206 @@ + + +Development Notes + + + + + +

Development Notes

+ + +

Adding Extentions

+ +

+To add a new GL extension to Mesa you have to do at least the following. + +

+ + + +

Coding Style

+ +

+Mesa's code style has changed over the years. Here's the latest. +

+ +

+Comment your code! It's extremely important that open-source code be +well documented. Also, strive to write clean, easily understandable code. +

+ +

+3-space indentation +

+ +

+If you use tabs, set them to 8 columns +

+ +

+Brace example: +

+
+	if (condition) {
+	   foo;
+	}
+	else {
+	   bar;
+	}
+
+ +

+Here's the GNU indent command which will best approximate my preferred style: +

+
+	indent -br -i3 -npcs infile.c -o outfile.c
+
+ + +

+Local variable name example: localVarName (no underscores) +

+ +

+Constants and macros are ALL_UPPERCASE, with _ between words +

+ +

+Global variables are not allowed. +

+ +

+Function name examples: +

+
+	glFooBar()       - a public GL entry point (in dispatch.c)
+	_mesa_FooBar()   - the internal immediate mode function
+	save_FooBar()    - retained mode (display list) function in dlist.c
+	foo_bar()        - a static (private) function
+	_mesa_foo_bar()  - an internal non-static Mesa function
+
+ + +

Making a New Mesa Release

+ +

+These are the instructions for making a new Mesa release. +

+ +

Get latest source files

+

+Use "cvs update -dAP " to get the latest Mesa files from CVS. +

+ + +

Verify and update version info

+

+Create/edit the docs/RELNOTES-X.Y file to document what's new in the release. +Add the new RELNOTES-X.Y file to relnotes.html. +Update the docs/VERSIONS file too. +

+ +

+Edit configs/default and change the MESA_MAJOR, MESA_MINOR and MESA_TINY +version numbers. +

+ +

+Make sure the values in src/mesa/main/version.h is correct. +

+ +

+Edit the top-level Makefile and verify that DIRECTORY, LIB_NAME and +DEMO_NAME are correct. +

+ +

+Update the docs/news.html file and docs/contents.html files. +

+ +

+Check in all updates to CVS. +

+ +

+Tag the CVS files with the release name (in the form mesa_X_Y). +

+ + +

Make the tarballs

+

+Make a symbolic link from $(DIRECTORY) to 'Mesa'. For example, +ln -s Mesa Mesa-6.3 +This is needed in order to make a correct tar file in the next step. +

+ +

+Make the distribution files. From inside the Mesa directory: +

+	make tarballs
+
+ +

+After the tarballs are created, the md5 checksums for the files will +be computed. +Add them to the docs/news.html file. +

+ +

+Copy the distribution files to a temporary directory, unpack them, +compile everything, and run some demos to be sure everything works. +

+ +

Update the website and announce the release

+

+Follow the directions on SourceForge for creating a new "release" and +uploading the tarballs. +

+ +

+Update the web site by copying the docs/ directory's files to +/home/users/b/br/brianp/mesa-www/htdocs/ +

+ +

+Make an announcement on the mailing lists: +mesa3d-dev@lists.sf.net, +mesa3d-users@lists.sf.net +and +mesa3d-announce@lists.sf.net +

+ + + + + -- cgit v1.2.3