~statik/ubuntu/maverick/erlang/erlang-merge-testing

« back to all changes in this revision

Viewing changes to erts/etc/common/escript.c

  • Committer: Elliot Murphy
  • Date: 2010-06-08 03:55:44 UTC
  • mfrom: (3.5.6 squeeze)
  • Revision ID: elliot@elliotmurphy.com-20100608035544-dd8zh2swk7jr5rz2
* Merge with Debian unstable; remaining Ubuntu changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to. (LP #438365)
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
* Added missing symlinks to /usr/include for a few new header files.
* Fixed generation of ${erlang-base:Depends} and ${erlang-x11:Depends}
  substitution variables.
* Added a fix for a re:compile/2 crash on a long regular expression.
* Changed urgency to medium as the change fixes a security bug.
* Manpages in section 1 are needed even if only arch-dependent packages are
  built. So, re-enabled them.
* Fixed HiPE architecture recognition for powerpc Debian architecture.
* Moved xsltproc and fop to build-depends-indep and do not build
  documentation if only architecture-specific packages are built.
* Refreshed all patches.
* Made Emacs look in man5 and man7 for Erlang manpages and added code
  skeleton files to erlang-mode package.
* New upstream release.
* Moved manpages from incorrect sections 4 and 6 to correct 5 and 7
  (closes: #498492).
* Made manpages regexp in Emacs mode match only 3erl pages in section 3.
* Removed docb_gen script which is no longer needed to build manpages.
* Added erlang-doc package which contains documentation in HTML and PDF
  formats. This package replaces erlang-doc-html package and it's easier
  to synchronize it with the main Erlang packages as it's built from
  a single source package (closes: #558451).
* Removed RPATH from ssl and crypto application binaries as required by
  Debian policy.
* Added libwxgtk2.4-dev and libwxgtk2.6-dev to build conflicts.
* Added a few dpendencies for erlang-dialyzer, erlang-et, erlang-observer
  and erlang-examples packages which now call functions from more modules
  than in 1:13.b.3.
* Added a workaround which disables vfork() for hppa architecture
  (closes: #562218).
* Strictened check for JDK 1.5 adding a call to String(int[], int, int)
  because GCJ 4.4 doesn't implement it and OpenJDK isn't available for all
  architectures.
* Fixed erlang-manpages package section.
* Made erlang-depends add only substvars which are requested in
  debian/control file. This minimizes number of warnings from dh_gencontrol.
  Also, improved descriptions of the functions in erlang-depends escript.
* Added erlang-erl-docgen package to erlang-nox dependencies.
* Made dummy packages erlang-nox and erlang-x11 architecture all.
* Cleaned up working with custom substitution variables in debian/rules.
* Reorganized debian/rules to ensure that manpages arent built twice, and
  aren't built at all if only architecture-dependent packages are requested.
* Fixed project links in README.Debian.
* Added a new package erlang-jinterface which provides tools for
  communication of Java programs with Erlang processes. This adds build
  depandency on default-jdk and as a result enables Java module for IDL
  compiler.
* Bumped standards version to 3.8.4.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * %CopyrightBegin%
3
 
 * 
4
 
 * Copyright Ericsson AB 2007-2009. All Rights Reserved.
5
 
 * 
 
3
 *
 
4
 * Copyright Ericsson AB 2007-2010. All Rights Reserved.
 
5
 *
6
6
 * The contents of this file are subject to the Erlang Public License,
7
7
 * Version 1.1, (the "License"); you may not use this file except in
8
8
 * compliance with the License. You should have received a copy of the
9
9
 * Erlang Public License along with this software. If not, it can be
10
10
 * retrieved online at http://www.erlang.org/.
11
 
 * 
 
11
 *
12
12
 * Software distributed under the License is distributed on an "AS IS"
13
13
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
14
 * the License for the specific language governing rights and limitations
15
15
 * under the License.
16
 
 * 
 
16
 *
17
17
 * %CopyrightEnd%
18
18
 */
19
19
/*
199
199
                    continue;
200
200
                } else {
201
201
                    /* Wow we found the executable. */
202
 
                    strcpy(abspath, wildcard);
 
202
                    strcpy(relpath, wildcard);
203
203
                    FindClose(dir_handle);
204
 
                    return strsave(abspath);
 
204
                    look_for_sep = FALSE;
 
205
                    break;
205
206
                }
206
207
#else
207
208
                dp = opendir(dir);
216
217
 
217
218
                        if (strcmp(origpath, dirp->d_name) == 0) {
218
219
                            /* Wow we found the executable. */
219
 
                            strcpy(abspath, dir);
220
 
                            strcat(abspath, DIRSEPSTR);
221
 
                            strcat(abspath, dirp->d_name);
 
220
                            strcpy(relpath, dir);
 
221
                            strcat(relpath, DIRSEPSTR);
 
222
                            strcat(relpath, dirp->d_name);
222
223
                            closedir(dp);
223
 
                            return strsave(abspath);
 
224
                            look_for_sep = FALSE;
 
225
                            break;
224
226
                        }
225
227
                    }
226
228
                }
239
241
#else
240
242
        if (!realpath(relpath, abspath)) {
241
243
#endif /* __WIN32__ */
242
 
            /* Cannot determine absolute path to escript. Try the relative.  */
243
 
            return strsave(relpath);
 
244
            /* Cannot determine absolute path to escript. Try the origin.  */
 
245
            return strsave(origpath);
244
246
        } else {
245
247
            return strsave(abspath);
246
248
        }
373
375
    if (strcmp(basename, "escript") == 0) {
374
376
#endif
375
377
        /*
376
 
         * Push all options (without the hyphen) before the script name.
 
378
         * Locate all options before the script name.
377
379
         */
378
380
        
379
381
        while (argc > 1 && argv[1][0] == '-') {
380
 
            PUSH(argv[1]+1);
381
382
            argc--;
382
383
            argv++;
383
384
            last_opt = argv;
402
403
            scriptname[len-4] = '\0';
403
404
        }
404
405
#endif
 
406
 
405
407
        strcat(scriptname, ".escript");
406
408
    }
407
409
 
418
420
    PUSH3("-run", "escript", "start");
419
421
 
420
422
    /*
421
 
     * Push all options (without the hyphen) before the script name.
 
423
     * Push all options before the script name. But omit the leading hyphens.
422
424
     */
423
425
    
424
426
    while (first_opt != last_opt) {
500
502
    *(--p) = '\0';
501
503
 
502
504
    if (debug) {
503
 
        printf("Processed commandline:%s\n",buff);
 
505
        printf("Processed command line:%s\n",buff);
504
506
    }
505
507
    return buff;
506
508
}