1#! /usr/bin/env perl
2# Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
3#
4# Licensed under the OpenSSL license (the "License").  You may not use
5# this file except in compliance with the License.  You can obtain a copy
6# in the file LICENSE in the source distribution or at
7# https://www.openssl.org/source/license.html
8
9my $obj_dat_h = $ARGV[0];
10
11# Output year depends on the date on the input file and the script.
12my $YEAR = [localtime([stat($0)]->[9])]->[5] + 1900;
13my $iYEAR = [localtime([stat($obj_dat_h)]->[9])]->[5] + 1900;
14$YEAR = $iYEAR if $iYEAR > $YEAR;
15
16open IN, '<', $obj_dat_h
17    || die "Couldn't open $obj_dat_h : $!\n";
18
19while(<IN>) {
20    s|\R$||;                    # Better chomp
21
22    next unless m|^\s+((0x[0-9A-F][0-9A-F],)*)\s+/\*\s\[\s*\d+\]\s(OBJ_\w+)\s\*/$|;
23
24    my $OID = $1;
25    my $OBJname = $3;
26
27    $OID =~ s|0x|\\x|g;
28    $OID =~ s|,||g;
29
30    print "$OBJname=\"$OID\"\n";
31}
32close IN;
33