]> Chaos Git - corbenik/ctrulib.git/commitdiff
Bump version to 1.0.0 - with changelog v1.0.0
authorfincs <fincs.alt1@gmail.com>
Sat, 5 Dec 2015 12:29:34 +0000 (13:29 +0100)
committerfincs <fincs.alt1@gmail.com>
Mon, 7 Dec 2015 10:44:36 +0000 (11:44 +0100)
Changelog.md [new file with mode: 0644]
README.md
exportdoc.sh
libctru/Doxyfile
libctru/Makefile

diff --git a/Changelog.md b/Changelog.md
new file mode 100644 (file)
index 0000000..42469e5
--- /dev/null
@@ -0,0 +1,52 @@
+# Changelog
+
+## Version 1.0.0
+
+* New features:
+  - libctru documentation is now available at http://smealum.github.io/ctrulib/
+  - Added the NDSP API, which allows the use of the DSP (audio).
+  - Added Inter Process Communication helpers.
+  - Added Result code helpers.
+  - Added support for lightweight synchronization primitives.
+  - Added support for making the C/C++ standard libraries thread safe.
+  - Added support for thread-local objects, with the use of standard C and C++ constructs (or GCC extensions).
+  - Added a new threading API that properly manages internal state. Direct usage of svcCreateThread is deprecated.
+  - Added a mappable address space allocator. Services which need to map shared memory blocks now use this allocator.
+  - Added support for embedded RomFS, embedded SMDH and GPU shader building in the template Makefiles.
+
+* Changes and additions to the GPU code:
+  - Stateless wrapper functions (GPU_*) that merely masked GPU register usage were deprecated, in favour of external GPU wrapper libraries such as citro3d. A future release of libctru may remove them.
+  - The API set has therefore been simplified down to command list management.
+  - Synchronized register names with the 3dbrew Wiki.
+  - Added fragment lighting registers and enums.
+  - Added procedural texture registers and enums.
+  - Added shaderProgramSetGshInputPermutation, for configuring the wiring between the vertex shader and the geometry shader.
+  - Added shaderProgramSetGshMode, for configuring the geometry shader operation mode.
+  - Added shaderProgramConfigure, intended to be used by GPU wrapper libraries.
+  - SHBIN/shaderProgram code now correctly computes and sets the values of the GPUREG_SH_OUTATTR_MODE/CLOCK registers.
+  - GX function naming has been improved, and the initial GX command buffer parameter has been removed.
+
+* Major changes and miscellaneous additions:
+  - Sweeping changes to make function/structure/enum naming more consistent across the whole library. This affects a lot of code.
+  - Compiler/linker flags have been tweaked to increase performance and reduce code size, through the garbage collection of unused functions.
+  - Service initialization is now reference counted in order to properly manage dependencies.
+  - Initial service handle parameters have been removed, since they were nearly always set to NULL.
+  - Completed coverage of srv and FSUSER service calls.
+  - Added fsUseSession and fsEndUseSession for overriding the FSUSER session used in commands in the current thread.
+  - Added osGet3DSliderState, osSetSpeedupEnable, osGetSystemVersionData and osGetSystemVersionDataString.
+  - Refactored the MICU service.
+  - NCCH versions of applications now detect the maximum amount of available memory on startup.
+
+* Miscellaneous changes and bug fixes:
+  - Commits and pull requests are now built on travis to check that the library compiles, and to generate the documentation.
+  - General changes and improvements to overall code quality.
+  - Added the missing struct and functions for Y2R.
+  - Added srvGetServiceHandleDirect for bypassing the handle override mechanism.
+  - Usage of the CSND service in new applications is not recommended, however it is not deprecated. The usage of NDSP instead is advised.
+  - Usage of the HB service in new applications is not recommended due to its necessary removal in hax 2.x, however it is not deprecated.
+  - Several bugs affecting APT were fixed.
+  - Several bugs affecting C++ were fixed.
+
+## Version 0 through 0.6.0
+
+No changelog available.
index e5d62341119112d0c635483a157adc34e4b26637..5d6c7f732df5505481817832acb9a4ce4bf610e9 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,19 +1,17 @@
-# ctrulib
+# libctru - CTR User Library
 
-CTR User Library
+Library for writing user mode ARM11 code for the 3DS (CTR)
 
-Library for writing user mode arm11 code for the 3DS (CTR)
-
-The goal with this is to create a very straightforward interface with the 3DS's OS.
-It is not meant to provide higher level functions; to put things in perspective, the purpose of ctrulib would be to sit between the OS and a possible port of SDL rather than replace it.
+This library aims to provide the foundations necessary to write 3DS Homebrew, and straightforwardly access the different functionalities provided by the 3DS operating system.
+It is not meant to provide higher level functions; to put things in perspective, the purpose of libctru would be to sit between the OS and a possible port of SDL rather than replace it.
 
 # Setup
 
-ctrulib is just a library and needs a toolchain to function. We built ctrulib to be used in conjunction with devkitARM. You may find instructions on how to install devkitARM on [the devkitPro Wiki](http://devkitpro.org/wiki/Getting_Started).
+libctru is just a library and needs a toolchain to function. devkitARM (created by [devkitPro](http://devkitpro.org)) is the officially supported ARM cross compiling toolchain, which provides the framework necessary to supply a usable POSIX-like environment, with working C and C++ standard libraries; as well as the tools required to compile homebrew in the 3DSX format, and assemble GPU shaders. The use of other ARM toolchains is severely discouraged.
 
-The most recent devkitARM (r44) includes 3DS support and a prebuilt libctru.
+The most recent version of devkitARM (r45 at the time of writing) is always recommended. The installers/setup scripts supplied by devkitPro install a prebuilt copy of the latest stable version of libctru, which is recommended for general use. Please note that devkitPro has a policy of keeping legacy code to a minimum, so a library upgrade may result in older code failing to compile or behave properly. Developers are encouraged to keep their code working with the latest versions of the tools and libraries.
 
-To keep up to date with the most recent changes you'll want to checkout ctrulib, build it and install it.
+You may find instructions on how to install devkitARM on [the devkitPro Wiki](http://devkitpro.org/wiki/Getting_Started).
 
 # License
 
index 414bab1123d25c9821990e82630ff4416bc734f3..b70a99282e656dd890a43e653513de1dfa75a5ea 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh
-if [ "$TRAVIS_REPO_SLUG" = "smealum/ctrulib" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_BRANCH" = "great-refactor" ]; then
+if [ "$TRAVIS_REPO_SLUG" = "smealum/ctrulib" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ -n "$TRAVIS_TAG" ]; then
 git clone --branch=gh-pages --single-branch --depth 1 https://${GH_TOKEN}@github.com/$TRAVIS_REPO_SLUG docs
 git rm -rf docs/*
 cd libctru
index cc072ed82c5b30ccaca0b639248b1fb614d37cab..dd8acd753d53a1976613667b0c85b386f5385f04 100644 (file)
@@ -38,7 +38,7 @@ PROJECT_NAME           = "libctru"
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = ""
+PROJECT_NUMBER         = "$(TRAVIS_TAG)"
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
@@ -743,7 +743,7 @@ WARN_LOGFILE           =
 # spaces.
 # Note: If this tag is empty the current directory is searched.
 
-INPUT                  = include ../README.md
+INPUT                  = include ../README.md ../Changelog.md
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
index bf53ac7aa2c455836695e0877d8db942337f8120..dad4a568b05ce900901fa4ac8acf2d525e08f24d 100644 (file)
@@ -8,8 +8,8 @@ endif
 
 include $(DEVKITARM)/base_rules
 
-export LIBCTRU_MAJOR   := 0
-export LIBCTRU_MINOR   := 6
+export LIBCTRU_MAJOR   := 1
+export LIBCTRU_MINOR   := 0
 export LIBCTRU_PATCH   := 0
 
 
@@ -105,10 +105,10 @@ export INCLUDE    :=      $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
 all: $(BUILD)
 
 dist-bin: all
-       @tar -cjf libctru-$(VERSION).tar.bz2 include lib default_icon.png
+       @tar --exclude=*~ -cjf libctru-$(VERSION).tar.bz2 include lib default_icon.png
 
 dist-src:
-       @tar -cjf libctru-src-$(VERSION).tar.bz2 include source data Makefile Doxyfile Doxyfile.internal default_icon.png
+       @tar --exclude=*~ -cjf libctru-src-$(VERSION).tar.bz2 include source data Makefile Doxyfile Doxyfile.internal default_icon.png
 
 dist: dist-src dist-bin