diff options
Diffstat (limited to 'shell/_emacs/tools')
| -rw-r--r-- | shell/_emacs/tools/libs/jpeg62.dll | bin | 0 -> 127488 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/libXpm.dll | bin | 0 -> 504492 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/libpng-config | 124 | ||||
| -rw-r--r-- | shell/_emacs/tools/libs/libpng12-config | 124 | ||||
| -rw-r--r-- | shell/_emacs/tools/libs/libpng12.dll | bin | 0 -> 260096 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/libpng14-14.dll | bin | 0 -> 230529 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/libpng3.dll | bin | 0 -> 260096 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/libtiff3.dll | bin | 0 -> 376832 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/libungif4.dll | bin | 0 -> 31232 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/xpm4.dll | bin | 0 -> 52224 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/zip.exe | bin | 0 -> 290816 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/libs/zlib1.dll | bin | 0 -> 75264 bytes | |||
| -rw-r--r-- | shell/_emacs/tools/profiler/profile-dotemacs.el | 200 | ||||
| -rw-r--r-- | shell/_emacs/tools/profiler/run_profiler.el | 2 | 
14 files changed, 450 insertions, 0 deletions
diff --git a/shell/_emacs/tools/libs/jpeg62.dll b/shell/_emacs/tools/libs/jpeg62.dll Binary files differnew file mode 100644 index 0000000..21c03d5 --- /dev/null +++ b/shell/_emacs/tools/libs/jpeg62.dll diff --git a/shell/_emacs/tools/libs/libXpm.dll b/shell/_emacs/tools/libs/libXpm.dll Binary files differnew file mode 100644 index 0000000..0dcb292 --- /dev/null +++ b/shell/_emacs/tools/libs/libXpm.dll diff --git a/shell/_emacs/tools/libs/libpng-config b/shell/_emacs/tools/libs/libpng-config new file mode 100644 index 0000000..3c39bc9 --- /dev/null +++ b/shell/_emacs/tools/libs/libpng-config @@ -0,0 +1,124 @@ +#! /bin/sh + +# libpng-config +# provides configuration info for libpng. + +# Copyright (C) 2002, 2004, 2006, 2007 Glenn Randers-Pehrson +# For conditions of distribution and use, see copyright notice in png.h + +# Modeled after libxml-config. + +version="1.2.37" +prefix="c:/progra~1/libpng" +exec_prefix="${prefix}" +libdir="${exec_prefix}/lib" +includedir="${prefix}/include/libpng12" +libs="-lpng12" +all_libs="-lpng12 -lz +I_opts="-I${includedir}" +L_opts="-L${libdir}" +R_opts="" +cppflags="" +ccopts="" +ldopts="" + +usage() +{ +    cat <<EOF +Usage: $0 [OPTION] ... + +Known values for OPTION are: + +  --prefix        print libpng prefix +  --libdir        print path to directory containing library +  --libs          print library linking information +  --ccopts        print compiler options +  --cppflags      print pre-processor flags +  --cflags        print preprocessor flags, I_opts, and compiler options +  --I_opts        print "-I" include options +  --L_opts        print linker "-L" flags for dynamic linking +  --R_opts        print dynamic linker "-R" or "-rpath" flags +  --ldopts        print linker options +  --ldflags       print linker flags (ldopts, L_opts, R_opts, and libs) +  --static        revise subsequent outputs for static linking +  --help          print this help and exit +  --version       print version information +EOF + +    exit $1 +} + +if test $# -eq 0; then +    usage 1 +fi + +while test $# -gt 0; do +    case "$1" in + +    --prefix) +        echo ${prefix} +        ;; + +    --version) +        echo ${version} +        exit 0 +        ;; + +    --help) +        usage 0 +        ;; + +    --ccopts) +        echo ${ccopts} +        ;; + +    --cppflags) +        echo ${cppflags} +        ;; + +    --cflags) +        echo ${I_opts} ${cppflags} ${ccopts} +        ;; + +    --libdir) +        echo ${libdir} +        ;; + +    --libs) +        echo ${libs} +        ;; + +    --I_opts) +        echo ${I_opts} +        ;; + +    --L_opts) +        echo ${L_opts} +        ;; + +    --R_opts) +        echo ${R_opts} +        ;; + +    --ldopts) +    	echo ${ldopts} +	;; + +    --ldflags) +        echo ${ldopts} ${L_opts} ${R_opts} ${libs} +        ;; + +    --static) +        R_opts="" +	libs=${all_libs} +        ;; + +    *) +        usage +        exit 1 +        ;; +    esac +    shift +done + +exit 0 diff --git a/shell/_emacs/tools/libs/libpng12-config b/shell/_emacs/tools/libs/libpng12-config new file mode 100644 index 0000000..3c39bc9 --- /dev/null +++ b/shell/_emacs/tools/libs/libpng12-config @@ -0,0 +1,124 @@ +#! /bin/sh + +# libpng-config +# provides configuration info for libpng. + +# Copyright (C) 2002, 2004, 2006, 2007 Glenn Randers-Pehrson +# For conditions of distribution and use, see copyright notice in png.h + +# Modeled after libxml-config. + +version="1.2.37" +prefix="c:/progra~1/libpng" +exec_prefix="${prefix}" +libdir="${exec_prefix}/lib" +includedir="${prefix}/include/libpng12" +libs="-lpng12" +all_libs="-lpng12 -lz +I_opts="-I${includedir}" +L_opts="-L${libdir}" +R_opts="" +cppflags="" +ccopts="" +ldopts="" + +usage() +{ +    cat <<EOF +Usage: $0 [OPTION] ... + +Known values for OPTION are: + +  --prefix        print libpng prefix +  --libdir        print path to directory containing library +  --libs          print library linking information +  --ccopts        print compiler options +  --cppflags      print pre-processor flags +  --cflags        print preprocessor flags, I_opts, and compiler options +  --I_opts        print "-I" include options +  --L_opts        print linker "-L" flags for dynamic linking +  --R_opts        print dynamic linker "-R" or "-rpath" flags +  --ldopts        print linker options +  --ldflags       print linker flags (ldopts, L_opts, R_opts, and libs) +  --static        revise subsequent outputs for static linking +  --help          print this help and exit +  --version       print version information +EOF + +    exit $1 +} + +if test $# -eq 0; then +    usage 1 +fi + +while test $# -gt 0; do +    case "$1" in + +    --prefix) +        echo ${prefix} +        ;; + +    --version) +        echo ${version} +        exit 0 +        ;; + +    --help) +        usage 0 +        ;; + +    --ccopts) +        echo ${ccopts} +        ;; + +    --cppflags) +        echo ${cppflags} +        ;; + +    --cflags) +        echo ${I_opts} ${cppflags} ${ccopts} +        ;; + +    --libdir) +        echo ${libdir} +        ;; + +    --libs) +        echo ${libs} +        ;; + +    --I_opts) +        echo ${I_opts} +        ;; + +    --L_opts) +        echo ${L_opts} +        ;; + +    --R_opts) +        echo ${R_opts} +        ;; + +    --ldopts) +    	echo ${ldopts} +	;; + +    --ldflags) +        echo ${ldopts} ${L_opts} ${R_opts} ${libs} +        ;; + +    --static) +        R_opts="" +	libs=${all_libs} +        ;; + +    *) +        usage +        exit 1 +        ;; +    esac +    shift +done + +exit 0 diff --git a/shell/_emacs/tools/libs/libpng12.dll b/shell/_emacs/tools/libs/libpng12.dll Binary files differnew file mode 100644 index 0000000..25c0a7c --- /dev/null +++ b/shell/_emacs/tools/libs/libpng12.dll diff --git a/shell/_emacs/tools/libs/libpng14-14.dll b/shell/_emacs/tools/libs/libpng14-14.dll Binary files differnew file mode 100644 index 0000000..8b93b06 --- /dev/null +++ b/shell/_emacs/tools/libs/libpng14-14.dll diff --git a/shell/_emacs/tools/libs/libpng3.dll b/shell/_emacs/tools/libs/libpng3.dll Binary files differnew file mode 100644 index 0000000..649ec64 --- /dev/null +++ b/shell/_emacs/tools/libs/libpng3.dll diff --git a/shell/_emacs/tools/libs/libtiff3.dll b/shell/_emacs/tools/libs/libtiff3.dll Binary files differnew file mode 100644 index 0000000..9883c51 --- /dev/null +++ b/shell/_emacs/tools/libs/libtiff3.dll diff --git a/shell/_emacs/tools/libs/libungif4.dll b/shell/_emacs/tools/libs/libungif4.dll Binary files differnew file mode 100644 index 0000000..2308352 --- /dev/null +++ b/shell/_emacs/tools/libs/libungif4.dll diff --git a/shell/_emacs/tools/libs/xpm4.dll b/shell/_emacs/tools/libs/xpm4.dll Binary files differnew file mode 100644 index 0000000..0414d84 --- /dev/null +++ b/shell/_emacs/tools/libs/xpm4.dll diff --git a/shell/_emacs/tools/libs/zip.exe b/shell/_emacs/tools/libs/zip.exe Binary files differnew file mode 100644 index 0000000..65de183 --- /dev/null +++ b/shell/_emacs/tools/libs/zip.exe diff --git a/shell/_emacs/tools/libs/zlib1.dll b/shell/_emacs/tools/libs/zlib1.dll Binary files differnew file mode 100644 index 0000000..31996cd --- /dev/null +++ b/shell/_emacs/tools/libs/zlib1.dll diff --git a/shell/_emacs/tools/profiler/profile-dotemacs.el b/shell/_emacs/tools/profiler/profile-dotemacs.el new file mode 100644 index 0000000..160b800 --- /dev/null +++ b/shell/_emacs/tools/profiler/profile-dotemacs.el @@ -0,0 +1,200 @@ +;;; profile-dotemacs.el --- Profile your Emacs init file + +;; Copyright (C) 2010, 2012  David Engster + +;; Author: David Engster <dengste@eml.cc> + +;; This file is NOT part of GNU Emacs. + +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License +;; as published by the Free Software Foundation; either version 2 +;; of the License, or (at your option) any later version. +;; +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program.  If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: + +;; This is to easily profile your Emacs init file (or any other +;; script-like Emacs Lisp file, for that matter). + +;; It will go over all sexp's (balanced expressions) in the file and +;; run them through `benchmark-run'.  It will then show the file with +;; overlays applied in a way that let you easily find out which sexp's +;; take the most time.  Since time is relative, it's not the absolute +;; value that counts but the percentage of the total running time. +;; +;; * All other sexp's with a percentage greater than +;;   `profile-dotemacs-low-percentage' will be preceded by a +;;   highlighted line, showing the results from `benchmark-run'. +;;   Also, the more 'reddish' the background of the sexp, the more +;;   time it needs. + +;; * All other sexp's will be grayed out to indicate that their +;;   running time is miniscule.  You can still see the benchmark +;;   results in the minibuffer by hovering over the sexp with the +;;   mouse. + +;; You can only benchmark full sexp's, so if you wrapped large parts +;; of your init file in some conditional clause, you'll have to remove +;; that for getting finer granularity. + +;;; Usage: + +;; Start emacs as follows: +;; +;;    emacs -Q -l <PATH>/profile-dotemacs.el -f profile-dotemacs +;; +;; with <PATH> being the path to where this file resides. + +;;; Caveats (thanks to Raffaele Ricciardi for reporting those): + +;; - The usual `--debug-init' for debugging your init file won't work +;;   with profile-dotemacs, so you'll have to call +;;   `toggle-debug-on-error', either on the commandline or at the +;;   beginning of your init file. +;; - `load-file-name' is nil when the init file is being loaded +;;   by the profiler.  This might matter if you perform the +;;   bulk of initializations in a different file. +;; - Starting external shells like IELM or eshell in your init file +;;   might mess with overlay creation, so this must not be done. + +;;; Download: + +;;  You can always get the latest version from +;;       http://randomsample.de/profile-dotemacs.el + +;;; Code: + +(require 'thingatpt) +(require 'benchmark) + +;; User variables + +(defvar profile-dotemacs-file "~/.emacs" +  "File to be profiled.") + +(defvar profile-dotemacs-low-percentage 3 +  "Percentage which should be considered low. +All sexp's with a running time below this percentage will be +grayed out.") + +(defface profile-dotemacs-time-face +  '((((background dark)) (:background "OrangeRed1")) +    (t (:background "red3"))) +  "Background color to indicate percentage of total time.") + +(defface profile-dotemacs-low-percentage-face +  '((((background dark)) (:foreground "gray25")) +    (t (:foreground "gray75"))) +  "Face for sexps below `profile-dotemacs-low-percentage'.") + +(defface profile-dotemacs-highlight-face +  '((((background dark)) (:background "blue")) +    (t (:background "yellow"))) +  "Highlight face for benchmark results.") + +;; Main function + +(defun profile-dotemacs () +  "Load `profile-dotemacs-file' and benchmark its sexps." +  (interactive) +  (with-current-buffer (find-file-noselect profile-dotemacs-file t) +    (setq buffer-read-only t) ;; just to be sure +    (goto-char (point-min)) +    (let (start end results) +      (while +	  (< (point) +	     (setq end (progn +			 (forward-sexp 1) +			 (point)))) +	(forward-sexp -1) +	(setq start (point)) +	(add-to-list +	 'results +	 `(,start ,end +		  ,(benchmark-run +		    (eval (sexp-at-point))))) +	(goto-char end)) +      (profile-dotemacs-show-results results) +      (switch-to-buffer (current-buffer))))) + +;; Helper functions + +(defun profile-dotemacs-show-results (results) +  "Show timings from RESULTS in current buffer." +  (let ((totaltime (profile-dotemacs-totaltime results)) +	current percentage ov) +    (while results +      (let* ((current (pop results)) +	     (ov (make-overlay (car current) (cadr current))) +	     (current (car (last current))) +	     (percentage (/ (+ (car current) (nth 2 current)) +			    totaltime)) +	     col benchstr lowface) +	(setq col +	      (profile-dotemacs-percentage-color +	       percentage +	       (face-background 'default) +	       (face-background 'profile-dotemacs-time-face))) +	(setq percentage (round (* 100 percentage))) +	(setq benchstr (profile-dotemacs-make-benchstr current)) +	(overlay-put ov 'help-echo benchstr) +	(if (and (numberp profile-dotemacs-low-percentage) +		 (< percentage profile-dotemacs-low-percentage)) +	    (overlay-put ov 'face 'profile-dotemacs-low-percentage-face) +	  (overlay-put ov 'before-string +		       (propertize benchstr +				   'face 'profile-dotemacs-highlight-face)) +	  (overlay-put ov 'face +		       `(:background ,col))))) +    (setq ov (make-overlay (1- (point-max)) (point-max))) +    (overlay-put ov 'after-string +		 (propertize +		  (format "\n-----------------\nTotal time: %.2fs\n" +			  totaltime) +		  'face 'profile-dotemacs-highlight-face)))) + +(defun profile-dotemacs-totaltime (results) +  "Calculate total time of RESULTS." +  (let ((totaltime 0)) +    (mapc (lambda (x) +	    (let ((cur (car (last x)))) +	      (setq totaltime (+ totaltime (car cur) (nth 2 cur))))) +	  results) +    totaltime)) + +(defun profile-dotemacs-percentage-color (percent col-begin col-end) +  "Calculate color according to PERCENT between COL-BEGIN and COL-END." +  (let* ((col1 (color-values col-begin)) +	 (col2 (color-values col-end)) +	 (col +	  (mapcar (lambda (c) +		    (round +		     (+ (* (- 1 percent) (nth c col1)) +			(* percent (nth c col2))))) +		  '(0 1 2)))) +    (format "RGB:%04x/%04x/%04x" +	    (car col) +	    (nth 1 col) +	    (nth 2 col)))) + +(defun profile-dotemacs-make-benchstr (timings) +  "Create descriptive benchmark string from TIMINGS." +  (format +   (concat +    "<Percentage: %d ; " +    "Time: %.2f ; " +    "Number of GC: %d ; " +    "Time for GC: %.2f>\n") +   percentage +   (car timings) (nth 1 timings) (nth 2 timings))) + + +;; profile-dotemacs.el ends here diff --git a/shell/_emacs/tools/profiler/run_profiler.el b/shell/_emacs/tools/profiler/run_profiler.el new file mode 100644 index 0000000..39939c2 --- /dev/null +++ b/shell/_emacs/tools/profiler/run_profiler.el @@ -0,0 +1,2 @@ +;; won't work unless .emacs exists +(eshell-command "emacs -Q -l ~/.emacs.d/tools/profiler/profile-dotemacs.el -f profile-dotemacs")  | 
